Linq搜索了几个关键字

Var*_*arg 1 c# linq asp.net-mvc search

我已经搜索了很多关于这个问题的简单答案,但我失败了.我是MVC的新手,刚刚创建了一个小搜索引擎.它适用于1个关键字,但不超过1个关键字.

如果我搜索"俄亥俄州钓鱼",我想让所有用户从数据库中获取这些关键字.我如何解决几行问题?以下是我目前未经修改的代码:

    public ActionResult Search(string Users)
    {
        var v = from p in db.UserProfiles
                where (p.UserName.Contains(Users)) ||
                      (p.About.Contains(Users)) ||
                      (p.City.Contains(Users))
                select p;

        return View("Find", v.ToList());
    }
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 5

如果我没有错,那么我相信你想分别搜索这些条款,即'Ohio fishing'你想分别搜索Ohio和钓鱼.在这种情况下,您需要将字符串拆分为空格,然后使用包含如下:

public ActionResult Search(string Users)
{
    string[] terms = Users.Split();
    var v = from p in db.UserProfiles
            where (terms.Any(r=> p.UserName.Contains(r))) ||
                  (terms.Any(r => p.About.Contains(r))) ||
                  (terms.Any(r => p.City.Contains(r)))
            select p;

    return View("Find", v.ToList());
}
Run Code Online (Sandbox Code Playgroud)

您还应该在SQL Server上查找全文搜索功能