我尝试了各种铸件,但都没有帮助.更新(工作解决方案)感谢 chris544,他的想法帮助我解决了这个问题.这是工作方法:-public ListGetRolesToUsers([Control]string ddlRole){var context = new ApplicationDbContext();变量用户 =context.Users.Where(x => x.Roles.Select(y => y.RoleId).Contains(ddlRole)).ToList();回访用户;} 解决方案 不是专家,但...Identity 中似乎没有为此内置功能,我也无法从内置角色中使用它(它似乎不适用于基于声明的 Identity).所以我最终做了这样的事情:var users = context.Users.Where(x => x.Roles.Select(y => y.Id).Contains(roleId)).ToList();x.Roles.Select(y => y.Id) 获取 user x 的所有角色 ID 的列表.Contains(roleId) 检查此 id 列表是否包含必要的 roleIdI have a drop down list box which lists roles. I want to get the list of users having that role. I mean list of users that are in "Administrator" role or "CanEdit" role. Here is my code: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;}Please help.Updated Code (still error)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;}Error: The Select Method must return one of "IQueryable" or "IEnumerable" or "Microsoft.AspNet.Identity.EntityFramework.IdentityUser" when ItemType is set to "Microsoft.AspNet.Identity.EntityFramework.IdentityUser".I tried various castings but none of them helped.UPDATE (working solution)Thanks to chris544, his idea helped me to fix this. Here is working method:-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;} 解决方案 Not an expert, but ...There seemed to be no built in funcionality for this in Identity and I could not get it work from built in Roles also (it seems to not work with claims based Identity).So I ended up doing something like this:var users = context.Users .Where(x => x.Roles.Select(y => y.Id).Contains(roleId)) .ToList();x.Roles.Select(y => y.Id) gets a list of all role ids for user x.Contains(roleId) checks if this list of ids contains necessary roleId 这篇关于获取在 asp.net identity 2.0 中分配角色的用户列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
09-05 21:31