获取不在角色 admin 和 simpleuser 中的用户

Get Users where are not in role admin and simpleuser

我正在使用 .Net Core 2.1,我想排除具有 "Admin" 和 "SimpleUser" 角色的用户 我遵循了这个示例

如何添加 where 部分? 到目前为止,我已经试过了,但没有成功:

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

ApplicationUserRole Class:

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

所附图片中的消息表明 u.UserRoles 不是字符串,请在 Where

中尝试类似 u.UserRoles.All(r=>r.RoleId!="Admin" && r.RoleId!="SimpleUser") 的内容

您需要检查 none 个角色属于 "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);