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 回答