Linq з групою, рахуючи


Відповіді:


285

Подобається це:

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

Або, використовуючи синтаксис методу:

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

18
Дякуємо за надання обох форм синтаксису! : D
Джесс

Дякую за це рішення
sudhanshu Pal

6

Для тих, хто хотів це зробити в vb (як я був і нічого не міг знайти)

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

1
Мені важко зрозуміти, чому Group Byце після Selectпункту в VB.
Арвін

-1

Нижче рішення може вам допомогти.

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

Як це пов’язано з питанням?
Герт Арнольд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.