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