Desidero utilizzare LINQ per raggruppare i dati da un DataTable (colonne: userid, chargetag, charge).Utilizzare LINQ per raggruppare i dati da DataTable
Il contenuto potrebbe essere la seguente:
userid chargetag charge
-----------------------------
user1 tag3 100
user2 tag3 100
user3 tag5 250
ho bisogno di qualcosa di simile come risultato:
chargetag count sum
-------------------------
tag3 2 200
tag5 1 250
Questo è quello che ho finora:
var groupedData = from b in dataTable.AsEnumerable()
group b by b.Field<string>("chargetag") into g
let count = g.Count()
select new
{
ChargeTag = g.Key,
Count = count,
};
I può estrarre il nome del chargetag e il numero di esso. Come dovrei cambiare la query LINQ per accedere anche alla somma delle spese?
Grazie in anticipo :-)
saluti, Kevin
bella spiegazione (come al solito). Sarei interessato a sapere se la prima opzione in realtà si raggruppa due volte o se viene ottimizzata. – kjn
Funziona perfettamente (ovviamente ;-)) Grazie ancora! – bitfrickler
@Jon Skeet: Qual è un buon modo per me di cogliere tutte queste cose LINQ? Ho il tuo libro 'C# In Depth', ma mi perdo nella sezione LINQ (come il tuo esempio sopra). Il resto della roba di codifica non è male. – jp2code