Linq查询'和''或'运算符

时间:2013-01-13 12:39:57

标签: c# .net linq

我编写了一个带有'或'条件和'和'的LINQ查询,但它运行不正常。

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

我无法弄清楚为什么它不起作用,有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:34)

试试这样,您需要使用括号对条件进行分组:

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

答案 1 :(得分:8)

通过添加括号对您的条件进行分组:

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

答案 2 :(得分:3)

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

这是你想要做的吗?您可以通过将它们放在括号内来对一组条件进行分组。