我有这个工作来让所有用户使用给定的 rol:
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();
但是如何为多个 ROL 做到这一点? 例如,获取具有"用户"或"管理员"角色的所有用户
注意: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();