2009-06-29 3 views
0

Я не кажется, чтобы быть в состоянии найти какие-либо доказательства множественного GroupBy поддерживается в LinqToSql в Интернете (я должен, вероятно, купить книгу :))Несколько групп в 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() 
       }; 

Однако группа утверждение второго предотвращает сборник .. Так как это возможно в родном SQL, как я могу это сделать ??

Мысли? Возможно ли это?

ответ

1

Это потому, что вам действительно не нужен 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