我在表Order和table Line之间有一个简单的一对多关系。
我想要一个报告每个Order实体和Line.Value字段之和的查询。
我可以在HQL中执行此操作:
select order, sum(line.Value) as LineValue
from Order as order
join order.Lines as line
group by order
到目前为止,这么好。当我运行它时,我得到一个对象数组列表,其中[0]是Order,[1]是行值的总和。
如何使用条件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"))
我必须手动添加要退回的订单的每个属性。如何指定我想按所有订单字段进行分组?