按用户角色和子公司 ID 获取用户



在 ASP.NET 身份中,我们有下表

  • AspNetUsers
  • AspNetRoles
  • AspNetUserRoles

此外,我将以下列添加到AspNetUsers表中

  • Subsidiary_ID

现在我想加载一个带有以下过滤器的list

  • 角色名称 == "审批者"
  • Subsidiary_ID == "04"

因此,为此目的,我正在尝试编写如下所示的查询

List<AspNetUser> approverprofiles = db.AspNetUsers.Where(w => w.Subsidary_ID == "04").Where(w => w.Name == "Approver").ToList();

但是我收到此错误

"

AspNetUser"不包含"名称"的定义,也没有扩展名 方法"名称"

您正在 AspNetUsers 表中搜索不存在的角色名称。如果要获取具有 Subsidiary_ID == "04" 的用户,并且他们的角色具有 RoleName == "审批者",则必须像这样查询:

 List<AspNetUser> approverprofiles = db.AspNetUsers
    .Where(w => w.Subsidary_ID == "04" && w.Roles.Any(r => r.Name == "Approver"))
    .ToList();

相关内容

  • 没有找到相关文章

最新更新