2009-08-04 5 views
12

J'utilise Linq pour l'ensemble de données pour interroger un datatable. Si je veux faire un groupe par le « Colonne1 » sur la table de données, j'utiliser requête suivanteLINQ TO DataSet: Groupe multiple par sur une table de données

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

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

Maintenant, je veux exécuter par groupe sur deux colonnes « Coulmn1 » et « Colonne2 ». Quelqu'un peut-il me dire la syntaxe ou me fournir un lien expliquant plusieurs groupes par sur un tableau de données ??

Merci

Répondre

16

Vous devez créer un type anonyme pour faire un groupe en plusieurs colonnes:

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 !!!! Au départ, je pensais que ça ne marcherait pas. mais ça marche – Anoop