Non riesco a risolvere questo problema con la query LINQ.Gruppo annidato per LINQ
Quindi abbiamo la struttura della tabella come segue: ID || bug_category || bug_name || bug_details || bug_priority
Voglio raggruppare per bug_category prima. Per ogni bug_category, voglio a turno raggruppare per bug__priority.
Quindi, fondamentalmente voglio qualcosa di simile:
bug_category = AUDIO :: No di BUGS -> Critical = 3, Medio = 2 e Low = 7 bug.
bug_category = VIDEO :: No di BUG -> Critico = 5, Medio = 1 e Basso = 9 bug.
La query di seguito riporta le combinazioni tutto uniche di categoria e customer_priority:
(dove RawDataList è semplicemente un elenco di dati che ha la struttura di cui sopra)
var ProceesedData = from d in RawDataList
group d by new { d.bug_category, d.bug_priority } into g
select new
{
g.Key.bug_category,
g.Key.bug_priority
};
La query di seguito restituisce la categoria seguita da un elenco di record in quella categoria:
var ProceesedData = from d in RawDataList
group d by d.bug_category into g
select new { g.Key, records = g
};
Ma io sono un in grado di procedere ulteriormente come ProcessedData (la variabile di ritorno) è un tipo sconosciuto. Qualche idea su questo?
La seconda query creerà per ogni gruppo una query secondaria, quindi penso che una soluzione migliore è il primo seguito da ToLookup per categoria –
@AdrianIftode: l'hai provato? Non l'ho fatto, ma avrei * previsto * l'SQL appropriato da generare per fare tutto in una volta. –
sì, con LinqPad, una query per i gruppi di categorie e altre query X per i gruppi di priorità –