LINQ AND OR逻辑

时间:2011-11-07 14:47:56

标签: entity-framework linq-to-entities

我有一个项目列表,属于一个组。所以我可以有第1组和第2组。第1组可能是第1,2,3和4项,第2组是第5和第6项。

然后我获取属于这些项目的对象列表(所以在那一刻,逻辑说明了所有属于项目1或2或3或4或5或6的对象。)

我如何写一个LINQ查询基本上说:

取我所有属于1或2或3或4 AND 5或6的对象?

听起来有点奇怪,但它是一个过滤系统,所以用户可以这样说;我希望看到所有位于俄勒冈州或加利福尼亚州的人都是候选人或面试官。

2 个答案:

答案 0 :(得分:3)

如果您正在动态构建条件,我建议PredicateBuilder。它提供了流畅的语法,可以轻松构建过滤器而无需手动ExpressionTree操作。

答案 1 :(得分:0)

collection.Where(x => (x.based == "Oregon" || x.based == "California") && (x.type == "candidate" || x.type == "interviewer"));