如何获取不属于特定角色的用户列表?我使用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)。
答案 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();