在字符串变量中提供角色 ID 时,RoleManager 的 FindRoleById() 返回 null(Identity 3.0)

问题描述 投票:0回答:1

我在使用 dotnet core 的 RoleManager 时面临一个非常特殊的问题。

我使用以下代码在 Role 变量中获取空值。

public IdentityRole Role { get; set; }

string id = "4de9af8e-c532-4d0a-8444-a63ffbd08ced";

Role = await _roleManager.FindByIdAsync(id);

但是,当“角色 id”直接提供给 FindByIdAsync 时,它可以正常工作,如下所示

Role = await _roleManager.FindByIdAsync("4de9af8e-c532-4d0a-8444-a63ffbd08ced");

任何人都可以帮忙解决这里的问题吗? 六个月前我参与的不同项目中都使用了相同的代码。

我尝试以下

public IdentityRole Role { get; set; }

string id = "4de9af8e-c532-4d0a-8444-a63ffbd08ced";

Role = await _roleManager.FindByIdAsync(id);

角色正在获取空值,而它不应该为空。

asp.net-core asp.net-identity razor-pages
1个回答
1
投票

尝试以下

Role = await _roleManager.FindByIdAsync(new Guid(id).ToString());
© www.soinside.com 2019 - 2024. All rights reserved.