在Linq没有条件

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)

And*_*yev 6

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)