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

时间:2018-11-22 09:08:27

标签: c# linq asp.net-core-2.0 roles

我正在使用.Net Core 2.1,并且我想排除本示例Link

中具有角色“ 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);

enter image description here

ApplicationUserRole类:

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

2 个答案:

答案 0 :(得分:0)

所附图片中的消息表明u.UserRoles不是字符串,请尝试在u.UserRoles.All(r=>r.RoleId!="Admin" && r.RoleId!="SimpleUser")中输入类似Where的内容

答案 1 :(得分:0)

您将需要检查所有角色均不是“管理员”或“ 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);
相关问题