.NET核心身份Rolemanager例外



i创建新的类,以用于更改ID类型:

public sealed class Role : IdentityRole<long>
{
}

在AppContext中,它看起来像:

builder.Entity<Role>(i => {
    i.ToTable("tblRole");
    i.HasKey(x => x.Id);
});

但是,当我尝试创建class rolemanager的对象时:

RoleManager<Role> roleManager = serviceProvider.GetRequiredService<RoleManager<Role>>();

我有这个例外:

无效的exception:找不到无参数构造函数 关于实体类型"角色"。为了创建"角色" EF的实例 要求声明无参数构造函数。

当我更改类型时:

RoleManager<IdentityRole> roleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();

有以下例外:

无效的Exception:无服务类型 'Microsoft.aspnetcore.Identity.RoleManager`1 [Microsoft.aspnetcore.Identity.entityFrameWorkcore.IdentityRole]''' 已注册。

如何解决此问题并添加UseroLemanager添加角色?欢呼!

您必须声明构造者和班级角色中的成员,如果有关系,则必须链接到rolemanager class。您可以遵循本教程,并自动进行元素:Microsoft

最新更新