2013-01-13 12 views
5

Napisałem zapytanie LINQ z" lub "warunkiem i" i ", ale nie działa dobrze.Zapytanie "i" Linq i "operatory

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

Nie mogę zrozumieć, dlaczego nie działa, czy ktoś może mi pomóc rozwiązać ten problem?

+4

Czy możesz być bardziej konkretny niż "nie działa dobrze". Jakich wyników oczekujecie i jakie są ich wyniki? – ChrisF

Odpowiedz

31

prostu spróbować jak ten, trzeba użyć nawiasów grupować warunki

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

grupę swoich warunków dodając nawias,

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')) 

Czy to co starasz się zrobić? Możesz pogrupować zestaw warunków, umieszczając je wewnątrz nawiasów.