根据特定角色查找用户



我正在尝试根据应用程序中的特定角色查找所有用户。我目前有两个角色管理员和用户。当我尝试使用以下 linq 查询返回具有"用户"角色的用户列表时:

var users = context.Users
                .Where(u => u.Roles.Select(r => r.RoleId).Contains("User")).ToList();

它返回 0 个用户。我在这里看过类似的问题,但其中许多现在已经过时了。例如,我知道 RoleID 是一个散列键,我正在搜索的是纯文本"用户"。

RoleId

实际的角色名称字符串不同,因此这就是您没有得到任何匹配项的原因。您需要执行此操作的方法是:

var roleId = context.Roles.Where(m => m.Name == "User").Select(m => m.Id).SingleOrDefault();

然后:

var users = context.Users
            .Where(u => u.Roles.Any(r => r.RoleId == roleId)).ToList();

相关内容

  • 没有找到相关文章

最新更新