Question

Je ne semble être en mesure de trouver des preuves de plusieurs groupby étant supporté dans LinqToSql sur Internet (je devrais acheter probablement un livre:))

Je voudrais pouvoir faire ceci:

      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()
               };

Cependant, la 2ème déclaration du groupe empêche la compilation .. Comme il est possible sql natif comment puis-je faire ??

Pensées? Est-ce même possible?

Était-ce utile?

La solution

Son parce que vous ne même pas vraiment besoin d'un dans cette déclaration groupby LINQ. Vous pouvez juste faire

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()
          };

Notez le into

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top