列出所有非管理员用户.我获取所有用户

本文关键字:用户 获取 管理员 | 更新日期: 2023-09-27 18:28:58

我在asp.net中使用Identity。我想显示所有不在Admin角色中的用户。

我可以让所有用户都喜欢这个

var userView = await UserManager.Users.OrderBy(u => u.UserName).ToListAsync();
return View(userView); 

正在尝试获取不在角色admin中的所有用户(没有角色的用户)。

var role = db.Roles.SingleOrDefault(m => m.Name == "Admin");
var userView = UserManager.Users.Where(m => m.Roles.All(r => r.RoleId != role.Id));
return View(userView);

仍然获取所有用户。具有Admin角色的用户和没有角色的用户。当我调试时,我可以看到var role中有3个用户。

列出所有非管理员用户.我获取所有用户

var role = RoleManager.Roles.SingleOrDefault(m => m.Name == "Admin");
var userView = UserManager.Users.Where(m => m.Roles.All(r => r.RoleId != role.Id));
return View(userView);

-尝试将"db"替换为"RoleManager"。它对我有效。