【发布时间】:2015-03-09 01:39:08
【问题描述】:
我有一些 IQueryable 想要 OR 在一起。我的理解是使用Where 将它们链接在一起导致将它们连接在一起(尽管我的理解可能有误。)
这是一个我想要 OR 一起的查询示例,以代替使用所有链接的 Where 子句:
var query = query.Where(x => x.Value == 1)
.Where(x => x.Name == name);
我正在寻找类似的东西:
var query = query.Where(x => x.Value == 1)
.Or(x => x.Name == name)
.Or(x => x.SomeOtherValue == something else)
.Or(x => x.AChildObject.Items.Where(item => item.SomeValue == yet something else));
...在我的情况下,我可能需要像上面那样将 10 个或多个项目链接在一起。
我一直在查看this one 之类的帖子,我想我可以使用一系列|| 语句将事情链接在一起,但不确定这是否是可行的方法。它可能会变得非常难以阅读。
在网上研究这个时,我遇到了关于 PredicateBuilders 等的大量文章。我无论如何都不是 LINQ 方面的专家,我希望得到一些指导?
【问题讨论】:
标签: linq iqueryable