首页 > 解决方案 > Linq 查询的可选过滤器

问题描述

我有一个从员工表中选择所有员工的查询(ef 核心):

 var employeesQuery = from d in _context.Employees
                      orderby d.LastName, d.FirstName
                      select d;

这完美地工作。除了,现在我需要添加一个可选过滤器。

我正在使用选择列表为当前员工选择主管。显然,我不希望用户能够选择员工作为自己的主管。因此,我需要从列表中过滤该员工。

当前的employeeid 将作为可选参数传递给该方法。如果参数为null,则不需要过滤;否则,过滤掉当前的employeeid。

标签: c#linq

解决方案


这就是我想出的:

      var employeesQuery = from d in _context.Employees
                      orderby d.LastName, d.FirstName
                      where d.EmployeeID != CurrentEmployeeID
                      select d;

它工作得很好。


推荐阅读