我正在尝试做与此 SQL 代码等效的操作
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)
)
但这给了我以下错误:
无法从 IIF 确定成员((Convert(c.myProperty) = 2), 1, 0)
你有什么主意吗 ?
编辑 1:我可以通过 2 个查询获得结果,但我只想在 1 个查询中执行此操作。
编辑 2:我在这里使用 QueryOver。