我有一个List<string> filterCriteria
,其中包含一个或多个关键字,用于根据客户端上的用户选择在数据库中搜索列。
我的问题是我不太清楚如何将linq转换为sql语句,因为它可能没有'or'运算符,或者可能有多个(10+)。
这是我的原始查询
var originalQuery = (from p in productContext.Products
select p);
然后根据列表,我需要使用或运算符通过
List<string> filterCriteria
中的单词查询“ originalQuery”。例如。
originalQuery = originalQuery.Where(p => p.ProductRange == "criteria1" ||
p.ProductRange == "criteria2");
等等...
最佳答案
您可以这样做:
originalQuery = originalQuery.Where(p => filterCriteria.Contains(p.ProductRange));
这样,您将获得originalQuery中所有具有ProductRange选定值之一的项目。
关于c# - Linq Multiple哪里查询或运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12579386/