Varios grupos de LINQ to SQL
-
21-08-2019 - |
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?
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