Pregunta

Yo no parecen ser capaces de encontrar ninguna evidencia de múltiples GroupBy siendo apoyado en LinqToSql en Internet (probablemente debería comprar un libro:))

Me gustaría ser capaz de hacer esto:

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

Sin embargo, la declaración del grupo segundo impide la compilación .. Ya que esto es posible en SQL nativo de cómo puedo hacer esto ??

Los pensamientos? ¿Es esto posible?

¿Fue útil?

Solución

Su porque no se sabe muy siquiera necesita un groupby en esta declaración de LINQ. Usted sólo puede hacer

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

Tenga en cuenta la into

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top