У меня есть простое отношение «один ко многим» между таблицей Order и строкой таблицы.
Я хочу запрос, который сообщает о каждой сущности Order и сумме поля Line.Value.
Я могу сделать это на HQL:
select order, sum(line.Value) as LineValue
from Order as order
join order.Lines as line
group by order
Пока все хорошо.Когда я запускаю это, я получаю Список массивов объектов, где [0] - это Порядок, а [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"))
Я должен вручную добавить каждое свойство из ордера, который я хочу вернуть.Как мне указать, что я хочу сгруппировать по всем полям Order?