Как мне перевести этот SQL-запрос GROUP BY / MIN в LINQ? - PullRequest
19 голосов
/ 17 марта 2009

Я планирую использовать это в подзапросе, но не могу понять правильный синтаксис для перевода следующего запроса в LINQ:

select ChapterID, min(MeetingDate)
from ChapterMeeting
group by ChapterID

Ответы [ 2 ]

33 голосов
/ 17 марта 2009
var query = myDataContext.ChapterMeeting
  .GroupBy(cm => cm.ChapterID)
  .Select(g => new {
      g.Key,
      MinMeetingDate = g.Min(cm => cm.MeetingDate)
  });
11 голосов
/ 17 марта 2009

Что ж, Дэвид победил меня, но на случай, если вы захотите увидеть это с синтаксисом «понимания»:

var q = (
    from cm in context.ChapterMeeting
    group cm by cm.ChapterID into cmg
    select new {
        ChapterID = cmg.Key,
        FirstMeetingDate = cmg.Min(cm => cm.MeetingDate)});
...