Existe uma maneira de criar um usuário e uma função personalizados sem especificar a TKey em IdenitityUser, IdentityRole e IdentityDbContext?

Existe uma maneira de criar um usuário e uma função personalizados sem especificar a TKeystring noIdentityUser, IdentityRoleeIdentityDbContext? Eu pergunto porque parece que eu não quero a chave primária gerada automaticamenteId mais e eu absolutamente faço. Fazendo o que eu fiz abaixo,UserManager.Create(user, password) falhará com umEntityValidationError emId.

public class ApplicationUser : IdentityUser<string, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
    [Required]
    [StringLength(50)]
    public string FirstName { get; set; }

    [Required]
    [StringLength(50)]
    public string LastName { get; set; }
}

public class ApplicationUserLogin : IdentityUserLogin
{
}

public class ApplicationUserClaim : IdentityUserClaim
{
}

public class ApplicationUserRole : IdentityUserRole
{
}

public class ApplicationRole : IdentityRole<string, ApplicationUserRole>
{
    [Required]
    [StringLength(50)]
    public string ProperName { get; set; }

    [Required]
    public string Description { get; set; }
}


public class MyAppDb : IdentityDbContext<ApplicationUser, ApplicationRole, string, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
    public MyAppDb()
        : base("MyAppDb")
    {
    }

    public static MyAppDb Create()
    {
        return new MyAppDb();
    }
}

questionAnswers(2)

yourAnswerToTheQuestion