Linq com grupo por contagem


Respostas:


285

Como isso:

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);

18
Obrigado por fornecer as duas formas de sintaxe! : D
Jess

Obrigado por esta solução
sudhanshu Pal 19/04

6

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

1
Acho difícil entender por que isso Group Byocorre depois da Selectcláusula no VB.
Arvin #

-1

A solução abaixo pode ajudá-lo.

var unmanagedDownloadcountwithfilter = from count in unmanagedDownloadCount.Where(d =>d.downloaddate >= startDate && d.downloaddate <= endDate)
group count by count.unmanagedassetregistryid into grouped
where grouped.Count() > request.Download
select new
{
   UnmanagedAssetRegistryID = grouped.Key,
   Count = grouped.Count()
};

Como isso está relacionado à questão?
Gert Arnold
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.