我有一个下拉列表框列出了角色。我想获得具有该角色的用户列表。我的意思是“管理员”角色或“CanEdit”角色的用户列表。这里是我的代码:
public IQueryable<Microsoft.AspNet.Identity.EntityFramework.IdentityUser> GetRolesToUsers([Control]string ddlRole) { //ddlRole returns role Id,based on this Id I want to list users var _db = new ApplicationDbContext(); IQueryable<Microsoft.AspNet.Identity.EntityFramework.IdentityUser> query = _db.Users; if (ddlRole != null) { //query = query.Where(e => e.Claims == ddlRole.Value); ??????? } return query; }
请帮忙。
public List<IdentityUserRole> GetRolesToUsers([Control]string ddlRole) { var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext())); var users = roleManager.FindByName("Administrator").Users.ToList(); return users; }
错误:当ItemType设置为“Microsoft.AspNet.Identity.EntityFramework.IdentityUser”时,选择方法必须返回“IQueryable”或“IEnumerable”或“Microsoft.AspNet.Identity.EntityFramework.IdentityUser”之一。
我尝试过各种铸件,但没有一个帮助。
更新(工作方案)
感谢chris544,他的想法帮助我解决了这个问题。这里是工作方法:
public List<ApplicationUser> GetRolesToUsers([Control]string ddlRole) { var context = new ApplicationDbContext(); var users = context.Users.Where(x => x.Roles.Select(y => y.RoleId).Contains(ddlRole)).ToList(); return users; }
解决方法
原文地址:https://www.jb51.cc/aspnet/253585.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。