Несколько групп в LinqToSql - PullRequest
0 голосов
/ 30 июня 2009

Кажется, я не могу найти каких-либо доказательств поддержки нескольких групповых групп в LinqToSQl в Интернете (вероятно, мне следует купить книгу:))

Я бы хотел сделать это:

      var qry = from s in DBContext.Styles
               join artist in DBContext.Artists on s.ID equals artist.StyleID
               join track in DBContext.Tracks on s.ID equals track.StyleID
               group artist by new { s.ID, s.Name } into a
               group track by new { s.ID, s.Name } into t
               select new DTO.StyleSummary
               {
                   ID = a.Key.ID,
                   Name = a.Key.Name,
                   NumberOfArtists = a.Count(),
                   NumberOfTracks = t.Count()
               };

Однако 2-й оператор группы предотвращает компиляцию. Так как это возможно в native sql, как я могу это сделать ??

Мысли? Это вообще возможно?

1 Ответ

1 голос
/ 30 июня 2009

Это потому, что вам даже не нужно groupby в этом операторе LINQ. Вы можете просто сделать

var qry = from s in DBContext.Styles
          join artist in DBContext.Artists on s.ID equals artist.StyleID into a
          join track in DBContext.Tracks on s.ID equals track.StyleID into t
          select new DTO.StyleSummary
          {
               ID = s.ID,
               Name = s.Name,
               NumberOfArtists = a.Count(),
               NumberOfTracks = t.Count()
          };

Обратите внимание на into

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...