MVC Identity 2.1 - 获取不属于特定角色的用户列表

时间:2017-09-11 10:36:54

标签: asp.net-mvc entity-framework asp.net-identity

如何获取不属于特定角色的用户列表?我使用mvc 5,ef 6,身份2.1。

获取"主机"中的用户列表我可以做的角色:

var getRole = (from r in db.Roles where r.Name.Contains("Host") select r).FirstOrDefault();
var getHostUsers = db.Users.Where(x => x.Roles.Select(y => y.RoleId).Contains(getRole.Id)).ToList();

要获取我可以执行的所有用户的列表:

var getUsers = await db.Users.Where(u => u.Id != currentUser).OrderBy(u => u.FirstName).ToListAsync();

但我需要的是一个不在" Host"中的所有用户的列表。角色(getUsers - getHostUsers)。

1 个答案:

答案 0 :(得分:2)

如果你想要所有用户,除了具有主持人角色的用户,你可以做与你正在做的相反的事情,并在where子句中添加感叹号。

var getRole = (from r in db.Roles where r.Name.Contains("Host") select r).FirstOrDefault();
var getNotHostUsers = db.Users.Where(x => !x.Roles.Select(y => y.RoleId).Contains(getRole.Id)).ToList();