具有子集合属性的对象的NHibernate查询

时间:2009-09-09 01:59:23

标签: nhibernate hql criteria

我需要有关nhibernate查询的帮助。如果可能的话,我更愿意使用Criteria API,否则HQL就可以了。

我有一个带有Account对象属性的Employee对象,Account有一个Entry对象的集合,每个Entry都有一个Amount属性。

我需要一个查询,它将返回所有拥有一个帐户的员工,其中Entry.Amount的总和小于零。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如图所示here

ICriteria.CreateCriteria(typeof(Customer))
.Add(Expression.Eq("Firstname", "Steve"))
.CreateCriteria("Orders")
.Add(Expression.Gt("OrderDate", new  Datetime.Now)))
.List<Customer>();

答案 1 :(得分:0)

如果有帮助......使用命名查询解决了此问题。不确定是否可以使用Criteria API。

查询:

select employee.* from employee
join (
    select accountid, sum(amount) as balance
    from entry group by accountid
) as accountbalances on accountbalances.accountid = employee.account
where accountbalances.balance < 0