如何在LINQ和ADO.NET中从数据库编写Like Query for search Username

时间:2013-03-07 07:13:10

标签: asp.net sql asp.net-mvc linq ado.net

亲爱的我想在用户通过ADO.net中的LINQ将值输入搜索文本框时从数据库表中搜索用户

我有一个搜索文本框..当用户输入任何字母而不是搜索来自表格的用户名时,其姓名包含此字母!

我有这个代码: -

[HttpPost]
    public ActionResult Userlist(string UserName)
    {
        var U_master = db.User_Masters.ToList();

        if (!string.IsNullOrEmpty(UserName))
            U_master = U_master.Where(a => a.Username.Contains(UserName)).ToList();   

        return PartialView("Userlist", U_master);
    }

通过使用此代码,我可以搜索仅用户名文本框值将与数据库表的用户名匹配 但是当用户只输入用户名的单个字母时,我想显示数据库中的所有用户名记录..并显示所有姓名包含此字母的用户名。 请给格式写LIKE查询或给出任何例子..!

1 个答案:

答案 0 :(得分:3)

您可以使用SqlMethods.Like(matchExpression,pattern)

var results = from c in db.costumers
              where SqlMethods.Like(c.FullName, "%"+FirstName+"%,"+LastName)
              select c;

在LINQ to SQL之外使用此方法将始终抛出NotSupportedException异常。

来源: Taken from
另请参阅此 post