2010-01-16 8 views
95

comment écrire cette requête dans linq (vb.net)?Linq avec groupe en comptant

select B.Name 
from Company B 
group by B.Name 
having COUNT(1) > 1 
+1

Copie possible de http://stackoverflow.com/questions/1333265/having-and-conditionnel-count-in-linq-query –

Répondre

206

Comme ceci:

from c in db.Company 
group c by c.Name into grp 
where grp.Count() > 1 
select grp.Key 

Ou, en utilisant la syntaxe de la méthode:

Company 
    .GroupBy(c => c.Name) 
    .Where(grp => grp.Count() > 1) 
    .Select(grp => grp.Key); 
+7

Merci de fournir les deux formes de syntaxe! : D – Jess

5

Pour ceux qui cherchent à le faire en vb (comme je l'étais et n'a pas pu trouver quoi que ce soit)

From c In db.Company 
Select c.Name Group By Name Into Group 
Where Group.Count > 1 
+0

J'ai du mal à comprendre pourquoi le 'Group By' est après la clause' Select' dans VB. – Arvin