对集合中的字段求和的NHibernate条件查询
在表顺序和表行之间有一个简单的一对多关系 我想要一个报告每个订单实体和Line.Value字段总和的查询 我可以在HQL中执行此操作:对集合中的字段求和的NHibernate条件查询,nhibernate,nhibernate-criteria,Nhibernate,Nhibernate Criteria,在表顺序和表行之间有一个简单的一对多关系 我想要一个报告每个订单实体和Line.Value字段总和的查询 我可以在HQL中执行此操作: select order, sum(line.Value) as LineValue from Order as order join order.Lines as line group by order 到目前为止,一切顺利。当我运行这个程序时,我会得到一个对象数组列表,其中[0]是顺序,[1]是行值之和 如何使用criteria API执行相同
select order, sum(line.Value) as LineValue
from Order as order
join order.Lines as line
group by order
到目前为止,一切顺利。当我运行这个程序时,我会得到一个对象数组列表,其中[0]是顺序,[1]是行值之和
如何使用criteria API执行相同的操作?
我能得到的最接近的是:
session.CreateCriteria(typeof(Order))
.CreateAlias("Lines", "l")
.SetProjection(Projections.ProjectionList()
.Add(Projections.GroupProperty("Id"))
.Add(Projections.GroupProperty("Customer"))
/* ... ditto for each Order field ... */
.Add(Projections.Sum("l.Value"))
我必须手动添加每个我想要返回的属性。如何指定要按所有订单字段分组?实际上,HQL不起作用。您必须在group by.Odd中显式指定Order的所有属性。。。它起作用了。也许是反向错误?FWIW这是在NHibernate v2.1.2.4上的,实际上,HQL不起作用。您必须在group by.Odd中显式指定Order的所有属性。。。它起作用了。也许是反向错误?FWIW这是在NHibernate v2.1.2.4上