ASP.NET 4では、LINQ-To-SQLを使用してgroupbyでcaseステートメントを記述しようとしています。たとえば、私はこれを行おうとしています:
Select ...
FROM Table T
GROUP BY CASE
WHEN T.COLUMN1 IS NULL THEN T.COLUMN2
ELSE T.COLUMN3
END
そのクエリをLINQでどのように翻訳しますか?
ASP.NET 4では、LINQ-To-SQLを使用してgroupbyでcaseステートメントを記述しようとしています。たとえば、私はこれを行おうとしています:
Select ...
FROM Table T
GROUP BY CASE
WHEN T.COLUMN1 IS NULL THEN T.COLUMN2
ELSE T.COLUMN3
END
そのクエリをLINQでどのように翻訳しますか?
何かのようなもの
from t in T
group t by (t.Column1 == null ? t.Column2 : t.Column3) into grp
select ... ;
このコードで試すことができます
var result =
from item in T
group item by new { YourColumn = ((item.Column1 == null) ? item.Column2 : item.Column3) } into g
select g;