如何使用Linq-To-Sql在一个组中编写CASE?

时间:2012-09-06 15:12:31

标签: asp.net sql linq linq-to-sql

在ASP.NET 4中,我试图用LINQ-To-SQL在一个组中编写一个case语句。 例如,我正在尝试这样做:

Select ...
FROM Table T
GROUP BY CASE
            WHEN T.COLUMN1 IS NULL THEN T.COLUMN2 
            ELSE T.COLUMN3 
         END

您如何在LINQ中翻译该查询?

2 个答案:

答案 0 :(得分:0)

这样的东西
from t in T
group t by (t.Column1 == null ? t.Column2 : t.Column3) into grp
select ... ;

答案 1 :(得分:0)

您可以尝试使用此代码

   var result = 
   from item in T
   group item by new { YourColumn = ((item.Column1 == null) ?  item.Column2  : item.Column3) } into g
   select g;