创建参数为空的查询

本文关键字:查询 参数 创建 | 更新日期: 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参数是否有值,但有时我想为空。IDint, namestring(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;
    }
}