nHibernateQueryOverの使用集計式を含む一連の値を選択したいと思います。したがって、SQLは次のようになります。
SELECT SUM(Total / (TaxRate + 1)) Totals FROM Contract Group By CustomerId
これがどこでサポートされているか(またはサポートされているかどうか)がわかりません。where句を式として記述できるが、selectの列を式として定義できないのは奇妙に思えます。
nHibernateQueryOverの使用集計式を含む一連の値を選択したいと思います。したがって、SQLは次のようになります。
SELECT SUM(Total / (TaxRate + 1)) Totals FROM Contract Group By CustomerId
これがどこでサポートされているか(またはサポートされているかどうか)がわかりません。where句を式として記述できるが、selectの列を式として定義できないのは奇妙に思えます。
私はあなたのコードを持っていないので、これを確認することはできませんが、これを試すことができます:
var dividePropertyProjection = Projections.SqlProjection(
"SUM(Total/TaxRate+1) as Totals", new string[] {"Totals"}, new IType[] {NHibernateUtil.Decimal}); //Assuming the sum is decimal, you can change it
var list= Session.QueryOver<Contract>().Select(Projections.Group<Contract>(x=>x.CustomerId),dividePropertyProjection).List();
CustomerId, Sum
どのリストが返されるかわからないので、組み合わせを返す必要があると思います。
それが役立つことを願っています