Преобразуйте этот SQL с количеством и группировкой в ​​linq2SQL - PullRequest
1 голос
/ 11 февраля 2010

Может ли кто-нибудь преобразовать этот запрос в 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 ]

2 голосов
/ 11 февраля 2010

Даниэль спросил о вашем 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});
2 голосов
/ 11 февраля 2010

Существует отличный инструмент, который сделает это за вас. Инструмент называется Linqer (я не связан с ним). Он примет большинство операторов SQL и преобразует их в запрос Linq. Я использовал его много раз, чтобы помочь мне конвертировать более сложные запросы.

...