无法使用Linq查询

时间:2016-01-20 10:51:29

标签: c# entity-framework linq linq-to-entities

我在我的数据库中有一个Products表,并且它有一个用于保存产品颜色的字符串列。

我试图实现一种功能,用户可以通过选择多个颜色名称来搜索产品。为此,我使用了包含多个颜色名称的C#List。

List<string> colorNames = new List<string>() { "silver" };

上面的代码显示,我目前只使用一种颜色来查找符合“银色”的产品。颜色。我使用的Linq查询如下:

context.Products.Where(prd => colorNames.Contains(prd.Color.ToLower().Trim()));

以上代码运行没有任何错误,但我面临的问题是它返回的产品只有银色。但在数据库中,现有的产品还有&#39; Light Silver&#39; &#39; Dark Silver Red&#39; 等颜色。我想要我的Linq查询也返回这些产品。

我知道这是不可能的,因为查询只会匹配银色,但我需要一个解决方法来执行此操作。

1 个答案:

答案 0 :(得分:1)

context.Products.Where(prd => colorNames.Any(col => prd.Color.ToLower().Trim().Contains(col)));

你可以试一试