将此SQL与count和grouping转换为linq2SQL

时间:2010-02-11 12:46:21

标签: linq-to-sql count group-by aggregate-functions

有人可以将此查询转换为linq2sql吗?试着教自己linq,看看我是否想把它用于一个小项目,并挂在最小的细节......

SELECT  
  Warrant.ID, 
  Warrant.MeetingDate, 
  Warrant.MeetingType, 
  Warrant.Notes, 
COUNT(WarrantArticles.ID) AS Cnt
FROM  Warrant INNER JOIN  WarrantArticles ON Warrant.ID = WarrantArticles.WarrantID
   group by   Warrant.ID, Warrant.MeetingDate, Warrant.MeetingType, Warrant.Notes

2 个答案:

答案 0 :(得分:2)

有一个很棒的工具可以帮到你。该工具名为Linqer(我与它没有任何关系)。它将占用大多数SQL语句并将它们转换为Linq查询。我已经多次使用它来帮助我转换更难的查询。

答案 1 :(得分:2)

Daniel询问了你的ObjectContext,因为在不知情的情况下很难给你一个确定的答案。

话虽如此,您的查询可能看起来像这样

var result = from w in context.Warrant select new {w.ID, w.MeetingDate, w.MeetingType, w.Notes, w.Articles.Count};

or

var result = context.Warrant.Select(w=> new new {w.ID, w.MeetingDate, w.MeetingType, w.Notes, w.Articles.Count});