通常,可以在 Queryable 中连接多个“Where”语句,并使用“Where”语句中的表达式之间的 AND 逻辑来过滤结果。
如何使用 OR 逻辑连接“Where”语句? 像这样的东西:
query.OrWhere(t => true).OrWhere(t => false)
我正在尝试通过循环有条件地创建查询。
for (var i = 0; i < 15; i++)
{
switch(i)
{
case 0:
{
if (something happens)
{
query = query.OrWhere(t => t.columnDependingOnIndex is something);
}
break;
}
//and so on ...
}
}
最佳答案
在一个Where语句中只使用or(||)
query.Where(somePredicate || someOtherPredicate)
另一种方法是使用 .Union -
var q1 = query.Where(somePredicate)
var q2 = query.Where(someOtherPredicate)
var res = q1.Union(q2)
关于c# - LINQ Where 语句用 OR 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27336040/