2010-01-16 33 views
95

làm cách nào để viết truy vấn này bằng LINQ (vb.net)?LINQ với nhóm bằng cách đếm số

select B.Name 
from Company B 
group by B.Name 
having COUNT(1) > 1 
+1

Bản sao có thể có của http://stackoverflow.com/questions/1333265/have-and-conditional-count-in-linq-query –

Trả lời

206

Như thế này:

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

Hoặc, sử dụng cú pháp phương pháp:

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

Cảm ơn bạn đã cung cấp cả hai dạng cú pháp! : D – Jess

5

Đối với bất cứ ai tìm cách để làm điều này trong vb (như tôi đã và không thể tìm thấy bất cứ điều gì)

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

Tôi thấy khó hiểu tại sao 'Nhóm By' là sau mệnh đề' Chọn' trong VB. – Arvin

Các vấn đề liên quan