2

nHibernateQueryOverの使用集計式を含む一連の値を選択したいと思います。したがって、SQLは次のようになります。

SELECT SUM(Total / (TaxRate + 1)) Totals FROM Contract Group By CustomerId

これがどこでサポートされているか(またはサポートされているかどうか)がわかりません。where句を式として記述できるが、selectの列を式として定義できないのは奇妙に思えます。

4

1 に答える 1

1

私はあなたのコードを持っていないので、これを確認することはできませんが、これを試すことができます:

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どのリストが返されるかわからないので、組み合わせを返す必要があると思います。

それが役立つことを願っています

于 2012-04-13T06:24:35.537 に答える