NHibernate QueryOver에서 다음 쿼리를 구현하려고합니다.동적으로 NHibernate 쿼리에 투영을 추가하십시오.
SQL
SELECT
SUM(GrossChargeAmount)
FROM Charges
INNER JOIN Account on Account.Chargekey = Charges.Chargekey
SELECT
SUM(GrossChargeAmount),
Account.AccountHolder
FROM Charges
INNER JOIN Account on Account.Chargekey = Charges.Chargekey
GROUP BY
Account.AccountHolder
자 NHibernate :
var accountAlias = null;
var baseQuery = session.QueryOver<Charges>()
.JoinAlias(c => c.Account,() => accountAlias)
.SelectList(s => s.SelectSum(c => c.GrossChargeAmount))
은 내가 baseQuery를 구성 코드가 있습니다. 그때, 메소드 매개 변수에 따라서 같은 baseQuery에하여 그룹을 추가 할 것이다 (이것은 그러나 초기 예측 (.SelectList을 "overwritting"본질적으로 내 baseQuery에 대한 계획과를 재설정 끝
baseQuery.SelectList(s => s.GroupBy(() => accountAlias.AccountHolder)
의 => s.SelectSum (c => c.GrossChargeAmount))). 이 단계에서 쿼리를 실행해도 GROUP BY만으로 SUM()이 수행되지 않습니다.
TLDR; Nhibernate QueryOver 인스턴스에 어떻게 투영을 추가합니까?
마지막으로,하지만이 아닌 이상 내가 NHibernate에 실행하고있어 2.0.50727은
을 선호하는 경우
당신은 또한 selectList의에 전달 된 표현을 만들 수는 전혀 없습니다 그런 일을 NHibernate 2.0.50727 –