我有一个简单的场景.我想列出除登录用户以外的所有员工.
类似的SQL条件是
select * from employee where id not in(_loggedUserId)
如何使用LINQ实现上述操作.我已尝试以下查询但未获得所需的列表
int _loggedUserId = Convert.ToInt32(Session["LoggedUserId"]); List_empIds = _cmn.GetEmployeeCenterWise(_loggedUserId) .Select(e => e.Id) .Except(_loggedUserId) .ToList();
Andy Korneye.. 6
Except
期望类型的参数IEnumerable
,而不是T
,所以它应该是类似的
_empIds = _cmn.GetEmployeeCenterWise(_loggedUserId) .Select(e => e.Id) .Except(new[] {_loggedUserId}) .ToList();
另请注意,当排除列表只包含一个项目并且可以替换为类似项时,这实际上是多余的 .Where(x => x != _loggedUserId)
Except
期望类型的参数IEnumerable
,而不是T
,所以它应该是类似的
_empIds = _cmn.GetEmployeeCenterWise(_loggedUserId) .Select(e => e.Id) .Except(new[] {_loggedUserId}) .ToList();
另请注意,当排除列表只包含一个项目并且可以替换为类似项时,这实际上是多余的 .Where(x => x != _loggedUserId)