【发布时间】:2013-04-21 04:35:52
【问题描述】:
我有一个记录数据库,每个记录都有一个标题。我希望能够使用将被分隔为列表或数组的搜索字符串来搜索该数据库。
例如,如果我使用“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 无法识别 'Boolean 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;
}
【问题讨论】:
标签: asp.net sql entity-framework asp.net-mvc-4