私はこのSQLコードNHibernateのではNhibernateで条件付き合計を行うには?
SELECT
ID
SUM(CASE WHEN myProperty = 2 THEN 1 ELSE 0 END) as nbRowWithValueOf2,
SUM(CASE WHEN myProperty = 3 THEN 1 ELSE 0 END) as nbRowWithValueOf3
FROM Foo
GROUP BY ID
と同等のものをやろうとしています。
は、これまでのところ私は
queryable = queryable
.Select(
Projections.Group<Foo>(c => c.ID),
Projections.Sum<Foo>(c => c.myProperty == MyEnum.Two ? 1 : 0)
Projections.Sum<Foo>(c => c.myProperty == MyEnum.Three ? 1 : 0)
)
を試みたが、これは私に次のエラーを与える:
Could not determine member from IIF((Convert(c.myProperty) = 2), 1, 0)
あなたが任意のアイデアを持っていますか?
EDIT 1:私は2つのクエリで結果を得ることができますが、私は1つだけのクエリでこれをやりたいです。
EDIT 2:ここではQueryOverを使用しています。
を。 – yoozer8
件数は条件を受け付けていません。ここでどのように使用できますか? 2つのクエリ? –
クエリを受け入れない場合は、WHEREを使用してカウントしたいものだけを選択してから、COUNTを使用します。 – yoozer8