2014-10-27 5 views
4

У меня есть две таблицы Invoice и InvoiceLineItem. В таблице InvoiceLineItem содержится:Создание NHibernate Queryover для получения суммы двух полевых продуктов с группой по

Id 
InvoiceId 
Quantity 
UnitPrice 

колонок. Я хочу создать заявление NHibernate QueryOver для группы элементов счета линии по InvoiceId и получить сумму продукта UnitPrice и Quantity

SQL, как это.

SELECT InvoiceId, SUM(Quantity*UnitPrice) AS Total 
    FROM InvoiceLineItem 
GROUP BY InvoiceId 

Я использовал Projections.Sum, но я не знаю, как мы можем умножить два столбца в том, что (если это правильный путь).

ответ

9

Не похоже, что есть отличный способ сделать это. Строительство прочь this answer, вы могли бы использовать VarArgsSQLFunction:

Это будет генерировать SQL, который выглядит следующим образом:

SELECT 
    sum((this_.Quantity*this_.UnitPrice)) as y0_, 
    this_.InvoiceId as y1_ 
FROM 
    InvoiceLineItem this_ 
GROUP BY 
    this_.InvoiceId 
+0

Спасибо Андрею, он мне помог !! – Niruka

Смежные вопросы