asp.net-core - 如何关联具有特定属性的用户和角色中的用户?网核2.0
问题描述
我正在尝试获取具有管理员角色且未被锁定或阻止的用户列表。你可以帮帮我吗?
(_userManager.GetUsersInRoleAsync("Admin")).Result.Where((_userManager.Users.Where(u => u.LockoutEnabled == false)));
(_userManager.GetUsersInRoleAsync("Admin")).Result.Where((_userManager.Users.Where(u => u.UserAccountIsBlocked == UserAccountIsBlocked.No)));
解决方案
对于查询User Role
和其他属性,您可以尝试如下所示的 linq:
var query = from user in _context.Users
join userRole in _context.UserRoles on user.Id equals userRole.UserId
join role in _context.Roles on userRole.RoleId equals role.Id
where user.LockoutEnabled == false
//&& user.UserAccountIsBlocked == UserAccountIsBlocked.No
&& role.NormalizedName == "Admin"
select user;
var users = query.ToList();
您可以根据您的业务逻辑添加其他查询条件。
推荐阅读
- c# - 将实体框架与 Pomelo 一起使用时 MySqlParameter 类型冲突
- qml - 插入符号位置 QtQuick TextField
- jenkins - Jenkins 管道:在“使用参数构建”中隐藏选定的参数
- sql - SQL Server 2016 中的数组到 json 和行到 json
- c++ - 如何将文本文件转换为 MPI_Bcast 可以发送的格式?
- ruby-on-rails - 如何在 Rails 中仅查找所有孙辈都符合某些条件的祖父母记录?
- javascript - Vue 页面未在 Microsoft Edge 上加载
- excel - 删除名称中包含“工作表”一词的任何工作表而不发出警告
- django - 使用错误密码的错误身份验证
- java - 在 Java 中,如果没有使用主类/方法,我在哪里可以找到运行时的执行类?