Linq com grupo tendo contagem
Pergunta
Como escrevo esta consulta no LINQ (vb.net)?
select B.Name
from Company B
group by B.Name
having COUNT(1) > 1
Solução
Assim:
from c in db.Company
group c by c.Name into grp
where grp.Count() > 1
select grp.Key
Ou, usando a sintaxe do método:
Company
.GroupBy(c => c.Name)
.Where(grp => grp.Count() > 1)
.Select(grp => grp.Key);
Outras dicas
Para quem quer fazer isso em VB (como eu era e não consegui encontrar nada)
From c In db.Company
Select c.Name Group By Name Into Group
Where Group.Count > 1
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow