首页 > 解决方案 > 如何关联具有特定属性的用户和角色中的用户?网核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)));

标签: asp.net-core.net-core

解决方案


对于查询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();

您可以根据您的业务逻辑添加其他查询条件。


推荐阅读