我一直在尝试从身份用户角色表中获取角色ID。我只能使用
var role = await _userManager.GetRolesAsync(user);
但我对如何获取角色ID感到困惑。
如何获取角色ID
您可以尝试以下代码段。
var roleNames = await _userManager.GetRolesAsync(user);
var roleIds = _roleManager.Roles.Where(r => roleNames.AsEnumerable().Contains(r.Name)).Select(r => r.Id).ToList();
测试结果
尝试从身份用户角色表中获取角色ID
如果您想AspNetUserRoles
直接查询表,可以尝试以下方法。
注入一个实例 ApplicationDbContext
private readonly ApplicationDbContext _appdbcontext;
public HomeController(ILogger<HomeController> logger, ApplicationDbContext appdbcontext
//...
)
{
_logger = logger;
_appdbcontext = appdbcontext;
//...
}
查询AspNetUserRoles
表
var roleIds = _appdbcontext.UserRoles.Where(u => u.UserId == user.Id).Select(r => r.RoleId).ToList();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句