0

亲爱的,当用户使用 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 Query 的格式或给出任何例子..!

4

1 回答 1

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 异常。

来源: 取自
也看看这个帖子

于 2013-03-07T07:17:13.490 回答