除非属性是假的,否则类别不是这个

时间:2016-12-30 21:03:32

标签: c# linq boolean-logic boolean-expression booleanquery

正如标题所描述的那样。我被卡住了,在LINQ语句中使用了和,xor或表达式。

from s in db.Items
where <Other boolean operations> &&
      s.Category.Contains("something") &&
      s.IsReviewed == false

我希望其他布尔操作过滤列表,其余项目不应属于类别&#34;&#34;除非IsReviewed布尔是假的。

另一种表达方式是: 我想要显示任何类别的项目,除了&#34;某些东西&#34;类别除非尚未经过审核。

感谢您的指示。

3 个答案:

答案 0 :(得分:1)

根据我所了解的所有评论,您正在寻找Category.Contains("something")中不属于!IsReviewed的所有项目或from s in db.Items where <Other boolean operations> && (!s.Category.Contains("something") || !s.IsReviewed)

Category.Contains("something")

您可以移动否定,这样就可以排除IsReviewedfrom s in db.Items where <Other boolean operations> && !(s.Category.Contains("something") && s.IsReviewed) {{1}}

中的所有项目
{{1}}

答案 1 :(得分:0)

根据您的评论更新了回答逻辑的答案。

from s in db.Items
where <Other boolean operations> &&
      (!s.Category.Contains("something") || s.IsReviewed == false)

答案 2 :(得分:-1)

所以你想要所有类别不是“东西”的项目或者IsReviewed是假的。