我正在使用.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);
ApplicationUserRole类:
public class ApplicationUserRole : IdentityUserRole<string>
{
public virtual ApplicationUser User { get; set; }
public virtual ApplicationRole Role { get; set; }
}
答案 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);