2017-01-11 2 views

ответ

0

Сначала создайте запрос, чтобы найти соответствующий пользовательский идентификатор пользователя, затем используйте этот запрос, чтобы получить список пользователей. Поскольку первый запрос еще не выполнен, в конце будет выдан только один SQL-запрос:

public IList<User> GetApplicationUsersInRole(string roleName) 
{ 
    var roleUserIdsQuery = from role in _context.Roles 
         where role.Name == roleName 
         from user in role.Users 
         select user.UserId; 
    return _context.Users.Where(applicationUser => 
           roleUserIdsQuery.Contains(applicationUser.Id)) 
         .ToList(); 
}