我有一个记录数据库,每个记录都有一个标题。我想用搜索字符串搜索这个数据库,搜索字符串将被分成一个列表或一个数组。实体框架搜索记录与字符串列表?
因此,例如,如果我使用“Book Dog”进行搜索,它将搜索标题中包含“Book”或“Dog”的所有标题。
我使用实体框架,我想写下我想要做的是
string[] words;
var posts = (from p in ctx.posts
where p.title.contains(words)
select p).ToList();
我使用StringExtension我在网上找到试过最简单的方法,但我会得到下面的错误 “LINQ to Entities无法识别方法'布尔ContainsAny(System.String,System.String [])'方法,并且此方法不能转换为存储表达式。”
并且该扩展是
public static bool ContainsAny(this string str, params string[] values)
{
if (!string.IsNullOrEmpty(str) || values.Length > 0)
{
foreach (string value in values)
{
if (str.Contains(value))
return true;
}
}
return false;
}
作品!谢谢! – SikhWarrior 2013-04-27 00:00:41