2011-09-20 56 views
0

有什麼辦法可以將以下語法轉換爲LINQ等效。將SQL轉換爲等效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

您可能對此工具有一定的運氣http://www.sqltolinq.com/還有其他幾個人提到[這裏](http://stackoverflow.com/questions/296972/sql-to-linq-tool) – DOK

+1

如果你去嘗試一下,然後向我們展示你的想法,Stack Overflow不是一個代碼工廠。 – Kev

回答

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>,你也可以格式化cour_date的日期時間值,以安裝轉換成字符串。