创建参数为空的查询
本文关键字:查询 参数 创建 | 更新日期: 2023-09-27 18:06:00
我创建了这个方法:
public List SearchUsers(Users user)
{
List lstUser;
using (var ctx = new MyEntities())
{
result = ctx.User
.Where(u=>u.Name.Contains(user.Name) && u=>u.ID==user.ID)
.OrderByDescending(u => u.ID)
.ToList();
return lstUser;
}
}
当我调用它时,user.name
, user.ID
参数是否有值,但有时我想为空。ID
为int
, name
为string(30)
。我是从文本框里读的
如何创建和调用这个方法?
这样做可能会奏效:在调用该方法时填写userName和userId,或者保留一个或两个null以禁用该部分搜索。
public List<User> SearchUsers(string userName, int? userId)
{
using (var ctx = new MyEntities())
{
IQueryable<User> query = ctx.User;
if (userName != null)
query = query.Where(u=>u.Name.Contains(userName));
if (userId != null)
query = query.Where(u=>u.ID==userId.Value);
var users = query
.OrderByDescending(u => u.ID)
.ToList();
return users;
}
}