我有一个 List<string> filterCriteria
其中包含一个或多个关键字,用于根据客户端的用户选择在我的数据库中搜索列。
我遇到的问题是我不太确定如何构建我的 linq to sql 语句,因为它可能没有“或”运算符,也可能有多个 (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 where query with or operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12579386/