2008-09-05 65 views

Trả lời

9
from a in TableA 
where (from b in TableB 
     join c in TableC on b.id equals c.id 
     where .. select b.id) 
.Contains(a.Id) 
select new { a.Id, a.Name } 
1

Không có hỗ trợ ngoài hộp cho IN trong LINQ. Bạn cần tham gia 2 truy vấn.

4

LINQ hỗ trợ IN ở dạng chứa. Hãy suy nghĩ "collection.Contains (id)" thay vì "id IN (collection)".

from a in TableA 
where (
    from b in TableB 
    join c in TableC 
     on b.id equals c.id 
    select b.id 
).Contains(TableA.Id) 
select new { a.Id, a.Name } 

Xem thêm blog này post.

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