3
var list = (from i in _dataContext.aspnet_Users.Include("aspnet_Membership")  where i.UserName.Contains(userName)  select i ).ToList();

その場合userName=""、何も返されません。空の文字列がすべてのレコードを返す場合、どうすればよいですか?

4

2 に答える 2

7

行う:

  var list = 
      (from i in _dataContext.aspnet_Users.Include("aspnet_Membership") 
        where string.IsNullOrEmpty(userName)
               || i.UserName.Contains(userName)  
       select i ).ToList();
于 2010-04-19T21:16:21.050 に答える
2

おもしろ情報:System.Data.Linq.SqlClient名前空間には、非常に便利なヘルパーメソッドがいくつか含まれています。

空の文字列が渡された場合にすべての結果を返すSqlMethods.Like関数を使用できます。

元:

 (from i in _dataContext.aspnet_Users.Include("aspnet_Membership") 
  where SqlMethods.Like(i.UserName, "%" + userName + "%")
  select i).ToList();
于 2010-04-19T21:24:05.480 に答える