2009-12-22 5 views
0

J'ai la LINQ requête suivanteGroupe Linq par et compte - comment ajouter plus de colonnes?

from c in AllContracts 
group c.StatusId by c.StatusDescription 
into g 
select new {StatusDescription = g.Key, CountOf = g.Count()} 

qui retourne

StatusDescription  CountOf 
End date has passed  1 
Suspended    1 
Setup phase    2 
Running     7 

Cependant, j'aimerais ajouter la colonne StatusID dans les résultats et aussi par ordre StatusID. J'ai fait des recherches sur Google mais je suis perplexe. Quelqu'un peut-il aider?

Répondre

2

les opérations suivantes:

(from c in AllContracts 
group c by new {c.StatusId, c.StatusDescription} 
into g 
select new { 
    StatusId = g.Key.StatusId, 
    StatusDescription = g.Key.StatusDescription, 
    CountOf = g.Count() 
}).OrderBy(item => item.StatusId) 
+0

sur place, ne pouvait pas sembler trouver cet exemple de recherche sur Google! – Rippo

+0

Qu'avez-vous cherché exactement? Vous pouvez trouver ceci en recherchant "groupe linq par deux champs" :-) – Konamiman

+0

J'ai continué à rencontrer 101 échantillons LINQ, mais je ne pouvais toujours pas voir la lumière à travers les arbres! :) – Rippo