.NET MVC получает всех пользователей с любым списком ролей - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть эта работа, чтобы получить всех пользователей с данным роликом:

    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 Ответ

1 голос
/ 25 апреля 2019

Примечание: 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...