在我的asp dotnet核心应用程序中,我将默认IdentityUser
和IdentityRole
更改为我自己的班级MesUser
和MesRole
public class MesUser : IdentityUser<int>, IUser
{
#region Property
/// <summary>
/// Osobní číslo
/// </summary>
[Column("ID")]
public override int Id { get; set; }
/// <summary>
/// Křestní jméno
/// </summary>
[Column("FIRST_NAME")]
public string FirstName { get; set; }
并在dbcontext
中设置它public DbSet<MesUser> MesUsers { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<MesUser>().ToTable("COR_USERS").HasKey(t => t.Id);
但是如果我对任何其他Identity类做类似的事情,我会收到错误消息:
无法在'MesRoleUser'上配置密钥,因为它是派生的 类型。必须在根类型上配置密钥 'IdentityUserRole'。如果你不打算 'IdentityUserRole'将包含在模型中,确保它是 不包含在上下文中的DbSet属性中,在a中引用 配置调用ModelBuilder,或从导航引用 属性中包含的类型的属性。