.NET MVC使所有用户具有任何角色列表

时间:2019-04-25 17:56:05

标签: c# asp.net-mvc linq

我正在努力使所有用户都拥有给定的角色:

    var roleId = db.Roles.Where(m => m.Name == "User").Select(m => m.Id).SingleOrDefault();
    var users = db.Users.Where(u => u.Roles.Any(r => r.RoleId == roleId)).ToList();

但是如何为多个角色做呢?例如获得所有角色为“用户”或“管理员”的用户

1 个答案:

答案 0 :(得分:1)

注意:EF可能无法将其翻译成SQL。

var roleIds = db.Roles.Where(m => m.Name == "User" || m.Name == "Admin").Select(m => m.Id);
var users = db.Users.Where(u => u.Roles.Any(r => roleIds.Contains(r))).ToList();