Asp.net Identity GetUsersByRole 在版本 2.0 之后停止工作



我使用以下方法按角色获取所有用户,并且在 2.0 版发布之前一直运行良好。有什么变化吗?角色不再存在,只有 RoleId,但这没有用,因为我需要按名称访问......似乎Microsoft删除/移动到其他类?不过在任何地方都找不到。

    public List<ApplicationUser> GetUsersByRole(string userRole)
    {
        return (_accountRepository.Get.SelectMany(user => user.Roles, (user, role) => new { user, role })
            .Where(x => x.role.Role.Name == userRole).Select(x => x.user)).ToList();
    }

x.role.Role.Name 中的角色对象不再解析。

在 2.0 版中删除了IdentityUserRole上的角色/用户导航属性,解决方法是在适当的数据库上下文特定层编写自己的 LINQ 查询,以获取特定角色中的用户列表。 从长远来看,我们将在RoleManager中添加一个GetUsersInRole方法(暂定应该在 2.1 中)。

最新更新