繁体   English   中英

在ASP.NET Core中自定义IdentityUserRole

[英]Customize IdentityUserRole in ASP.NET Core

在我的asp dotnet核心应用程序中,我将默认的IdentityUserIdentityRole更改为我自己的类MesUserMesRole

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属性中未包含它,在ModelBuilder的配置调用中没有引用它,或者在包含的类型上从导航属性引用了它在模型中。

我知道,仅链接不是规则,但是通过遵循此链接,您将学到:

  • 如何更改用户密钥类型,
    • 特别是您不需要覆盖成员
  • 更改用户身份密钥的类型涉及许多类的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM