将SQL转换为等效的LINQ

时间:2011-09-20 15:23:40

标签: c# .net asp.net

有什么方法可以将下面的语法转换为LINQ等价物。

select DateName( month , DateAdd( month , month(cour_date) , 0 ) - 1 ),count(*)
from course
where cour_date>CONVERT(varchar, YEAR(GETDATE())) + '-01' + '-01'
and cour_deleted is null and cour_type='Group'
group by month(cour_date)
order by month(cour_date)

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

var query = from c in course 
            where c.cour_date > DateTime.Parse("2011-01-01") 
                 && c.cour_deleted == null && c.cour_type.Equals("Group") 
            orderby c.cour_date 
            group c by c.cour_date.Month

对于查询中的每个IGrouping<DateTime, course>,您都有Count值,您还可以格式化cour_date的DateTime值以将字符串转换为mount。