Linq con gruppo avendo conto


Risposte:


285

Come questo:

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

Oppure, usando la sintassi del metodo:

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

18
Grazie per aver fornito entrambe le forme di sintassi! : D
Jess,

Grazie per questa soluzione
sudhanshu Pal

6

Per chiunque cerchi di farlo in vb (com'ero e non riuscivo a trovare nulla)

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

1
Trovo difficile capire perché Group Bysia la Selectclausola after in VB.
Arvin,

-1

Di seguito la soluzione può aiutarti.

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

In che modo ciò è legato alla domanda?
Gert Arnold,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.