ฉันจะเขียนแบบสอบถามนี้ใน linq (vb.net) ได้อย่างไร
select B.Name
from Company B
group by B.Name
having COUNT(1) > 1
ฉันจะเขียนแบบสอบถามนี้ใน linq (vb.net) ได้อย่างไร
select B.Name
from Company B
group by B.Name
having COUNT(1) > 1
คำตอบ:
แบบนี้:
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);
สำหรับใครที่ต้องการทำสิ่งนี้ใน vb (ตามที่ฉันเป็นและไม่พบอะไรเลย)
From c In db.Company
Select c.Name Group By Name Into Group
Where Group.Count > 1
Group By
อยู่หลังSelect
อนุประโยคใน VB
โซลูชันด้านล่างนี้อาจช่วยคุณได้
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()
};