Linq mit Gruppe durch Zählen


Antworten:


284

So was:

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

Oder verwenden Sie die Methodensyntax:

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

18
Vielen Dank für die Bereitstellung beider Syntaxformen! : D
Jess

Vielen Dank für diese Lösung
sudhanshu Pal

6

Für alle, die dies in vb tun möchten (so wie ich war und nichts finden konnte)

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

1
Ich finde es schwer zu verstehen, warum das Group Bynach der SelectKlausel in VB steht.
Arvin

-1

Die folgende Lösung kann Ihnen helfen.

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

Wie hängt das mit der Frage zusammen?
Gert Arnold
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.