我为更改ID类型创建了新类:
public sealed class Role : IdentityRole<long>
{
}
在AppContext中,它看起来像:
builder.Entity<Role>(i => {
i.ToTable("tblRole");
i.HasKey(x => x.Id);
});
但是当我尝试创建类RoleManager的对象时:
RoleManager<Role> roleManager = serviceProvider.GetRequiredService<RoleManager<Role>>();
我有这个例外:
InvalidOperationException:找不到无参数构造函数 在实体类型'角色'。为了创建'角色'EF的实例 要求声明无参数构造函数。
当我更改类型时:
RoleManager<IdentityRole> roleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
有这个例外:
InvalidOperationException:没有类型的服务 'Microsoft.AspNetCore.Identity.RoleManager`1 [Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole]' 已经注册。
如何解决此问题并添加useRoleManager以添加角色? 干杯!