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

Category isn't this unless property is false

如标题所述。我被卡住了,在 LINQ 语句中简单地使用 and、xor 或表达式。

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

我希望其他布尔运算向下过滤列表,其余项目不应属于 "something" 类别,除非 IsReviewed 布尔值为 false。

另一种表达方式是: 我希望显示任何类别的项目,"something" 类别除外,除非它没有被审查。

感谢您的指导。

根据您的评论更新了答案以反映逻辑。

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

因此,您需要类别不是 "something" 或 IsReviewed 为假的所有项目。

根据我了解到的所有评论,您正在寻找 Category.Contains("something") 中不存在的所有项目或 !IsReviewed

中存在的项目
from s in db.Items
where <Other boolean operations> &&
      (!s.Category.Contains("something") || !s.IsReviewed)

您可以四处移动否定,这样您就可以排除 Category.Contains("something")IsReviewed

中的任何项目
from s in db.Items
where <Other boolean operations> &&
      !(s.Category.Contains("something") && s.IsReviewed)