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
Джесс
Спасибо за это решение
Судханшу Пал
6

Для тех, кто хочет сделать это в VB (как я и не мог найти ничего)

From c In db.Company 
Select c.Name Group By Name Into Group 
Where Group.Count > 1
Майкл Эндрюс
источник
1
Мне трудно понять, почему Group Byпосле SelectVB.
Арвин
-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()
};
Судханшу Пал
источник
Как это связано с вопросом?
Герт Арнольд