使用 MVC 5 和 C#。前端允许按名称选择多个角色并将它们作为 CSV 字符串发送到控制器。然后,控制器按用户的角色属性过滤用户。
前端通过Role.Name属性引用角色,尽管保存在用户配置文件中的角色由引用Role.Id。
例如前端提交, "Customer,Employee,Administrator"
在控制器中,我只需要选择具有这些角色的用户。
// Get users
var filteredRecords = UserManager.Users.AsQueryable();
// Get requested roles (HTTP POST)
string[] roleNames = model.RoleNames.Split(new string[] {","});
我可以得到一个人Role.Id:
RoleManager.Roles.FirstOrDefault(r => r.Name == roleName).Id
如何有效地使用 LINQ/Lambda 转换roleNames为数组或列表,roleIds然后如何使用该数组/列表仅过滤包含在这些角色中的用户?
幕布斯7119047
相关分类