2013-01-13 37 views
5

Tôi đã viết truy vấn LINQ với 'hoặc' điều kiện và 'và' nhưng không hoạt động tốt.LINQ truy vấn 'và' 'hoặc' toán tử

from x in db.fotoes.Where(x => x.uid == NewsId && 
x.ukat == 'fukat1' || x.ukat == 'fukat2') 

tôi không thể hiểu tại sao nó không hoạt động, ai cũng có thể giúp tôi khắc phục vấn đề này?

+4

Bạn có thể cụ thể hơn "không hoạt động tốt" hay không. Những gì bạn đang mong đợi đầu ra và những gì đầu ra là bạn thực sự nhận được? – ChrisF

Trả lời

31

chỉ cố gắng như thế này, bạn cần phải sử dụng dấu ngoặc đơn để nhóm điều kiện của bạn

from x in db.fotoes.Where(x => x.uid == NewsId && 
(x.ukat == 'fukat1' || x.ukat == 'fukat2')) 
8

nhóm điều kiện của bạn bằng cách thêm dấu ngoặc đơn,

from x in db.fotoes.Where(x => (x.uid == NewsId) && 
         (x.ukat == 'fukat1' || x.ukat == 'fukat2')) 
3
from x in db.fotoes.Where(x => x.uid == NewsId && (
x.ukat == 'fukat1' || x.ukat == 'fukat2')) 

Có những gì bạn đang cố gắng để làm gì? Bạn có thể nhóm một tập hợp các điều kiện bằng cách đặt chúng trong dấu ngoặc đơn.

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