给定List<string>
如何返回实体中包含一个或多个单词的字段的所有记录。
我尝试了下面哪个不起作用,我开始绕圈子走了一圈:
List<string> searchwords = new List<string>() {"word1","word2"};
var results = context.activities
.Where(a => a.Title.Contains(searchwords.Any().ToString())).ToList();
答案 0 :(得分:5)
您当前代码的问题:
var results = context.activities.Where(a =>
a.Title.Contains(searchwords.Any().ToString())).ToList();
是你的针和干草堆向后。您需要在.ToString()
上致电Any()
这一事实应该会让您失望。 Any()
会返回bool
,您要将其转换为字符串,因此您只需检查 Title
是否包含字符串“True”。绝对不是你想要的。你想要更接近的东西:
var results = context.activities
.Where(a => searchwords.Any(searchWord => a.Title.Contains(searchWord)));