Sik*_*ior 2 sql asp.net entity-framework asp.net-mvc-4
我有一个记录数据库,每个记录都有一个标题.我希望能够使用搜索字符串搜索此数据库,搜索字符串将分为列表或数组.
因此,例如,如果我使用"Book Dog"进行搜索,它将搜索标题中包含"Book"或"Dog"的所有标题.
我正在使用实体框架,我想最简单的方法来记下我想要做的事情
string[] words;
var posts = (from p in ctx.posts
where p.title.contains(words)
select p).ToList();
Run Code Online (Sandbox Code Playgroud)
我尝试过使用我在网上找到的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;
}
Run Code Online (Sandbox Code Playgroud)
Win*_*Win 10
你在找这个吗?
var posts = (from p in ctx.posts
where words.Any(w => p.title.Contains(w))
select p).ToList();
Run Code Online (Sandbox Code Playgroud)
这是您需要的吗:
ctx.posts.Where(post => words.Any(word => post.Title.Contains(word)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6326 次 |
| 最近记录: |