2013-01-13 57 views
5

我已经写了'或'条件和'和'的LINQ查询,但其运行不正常。Linq查询'和''或'运算符

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

我不知道为什么它不工作,有人可以帮我解决这个问题吗?

+4

你能比“工作不好”更具体吗?你期望什么输出和你实际获得什么输出? – ChrisF

回答

31

只是尝试这样,你需要使用括号,以便将条件

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

组加入括号的条件,

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

是不是你想要什么做?您可以通过将它们置于括号内来对一组条件进行分组。