Получить пользователей, которые не в роли администратора и простого пользователя - PullRequest
0 голосов
/ 22 ноября 2018

Я использую .Net Core 2.1 и хочу исключить пользователей с ролью "Администратор" и "Простой пользователь". Я следовал этому примеру Ссылка

Как я могу добавитьчасть где?До сих пор я пытался это без удачи:

 ViewData["ApplicationUserId"] = new SelectList( _context.Users.Include(u=>u.UserRoles).ThenInclude(u=>u.Role).Where(o=>o.UserRoles!="Admin"), "Id", "Company", products.ApplicationUserId);

enter image description here

ApplicationUserRole Класс:

 public class ApplicationUserRole : IdentityUserRole<string>
    {
        public virtual ApplicationUser User { get; set; }
        public virtual ApplicationRole Role { get; set; }
    }

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Вам нужно будет убедиться, что ни одна из ролей не является "Admin" или "SimpleUser"

ViewData["ApplicationUserId"] = new SelectList( _context.Users.Include(u=>u.UserRoles).ThenInclude(u=>u.Role).Where(o => !o.UserRoles.Any(r => (r.Role == "Admin") || (r.Role == "SimpleUser"))), "Id", "Company", products.ApplicationUserId);
0 голосов
/ 22 ноября 2018

Сообщение на прикрепленном изображении предполагает, что u.UserRoles не является строкой, попробуйте что-то вроде u.UserRoles.All(r=>r.RoleId!="Admin" && r.RoleId!="SimpleUser") в вашем Where

...