2009-08-04 10 views
12

Sto utilizzando Linq sul set di dati per interrogare un datatable. Se voglio per eseguire un gruppo su "Colonna1" sulla tabella di dati, io uso seguente queryLINQ TO DataSet: gruppo multipla su una tabella dati

var groupQuery = from table in MyTable.AsEnumerable() 
group table by table["Column1"] into groupedTable 

select new 
{ 
    x = groupedTable.Key, 
    y = groupedTable.Count() 
} 

Ora voglio eseguire gruppo da su due colonne "Coulmn1" e "Column2". Qualcuno può dirmi la sintassi o fornirmi un link che spiega più gruppi su una tabella dati?

Grazie

risposta

16

È necessario creare un tipo anonimo per fare un gruppo a più colonne:

var groupQuery = from table in MyTable.AsEnumerable() 
group table by new { column1 = table["Column1"], column2 = table["Column2"] } 
     into groupedTable 
select new 
{ 
    x = groupedTable.Key, // Each Key contains column1 and column2 
    y = groupedTable.Count() 
} 
+0

Thanx CMS !!!! Inizialmente pensavo che non avrebbe funzionato. ma sta funzionando – Anoop