0

親愛なるユーザーがADO.netのLINQを使用して検索テキストボックスに値を入力したときに、データベーステーブルからユーザーを検索したい

私は1つの検索テキストボックスを持っています..ユーザーがこの文字を含む名前のテーブルからユーザー名を検索するよりも任意の文字を入力すると!

私はこれのためのコードを持っています:-

[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);
    }

このコードを使用すると、ユーザー名のみを検索できますテキストボックスの値はデータベーステーブルのユーザー名と一致しますが、ユーザーがユーザー名の1文字のみを入力した場合、データベースからのすべてのユーザー名レコードを表示し、名前に含まれるすべてのユーザー名を表示しますこの手紙 。LIKEクエリを書くためのフォーマットを与えるか、例を挙げてください。

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 に答える