我在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个用户。
答案 0 :(得分:-1)
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”。这个对我有用。