これで問題を解決できると思います:
Models \ IdentityModels.csでは、独自の User モデルを再定義できます。
public class ApplicationUser : IdentityUser
{
/* identity field from database */
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
[Required]
public bool Internal { get; set; }
public string UserFullName { get; set; }
public string UserEmail { get; set; }
public ApplicationUser()
: base()
{
Internal = false;
}
public ApplicationUser(string userName)
: base(userName)
{
Internal = false;
}
}
OnModelCreating()オーバーライドとToTable()メソッドを使用して、デフォルトの AspNet テーブルのマッピングを変更できるようになりました。
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// Change the name of the table to be Users instead of AspNetUsers
modelBuilder.Entity<IdentityUser>().ToTable("User");
modelBuilder.Entity<ApplicationUser>().ToTable("User");
modelBuilder.Entity<IdentityRole>().ToTable("Role");
modelBuilder.Entity<IdentityUserClaim>().ToTable("User_Claim");
modelBuilder.Entity<IdentityUserLogin>().ToTable("User_Login");
modelBuilder.Entity<IdentityUserRole>().ToTable("User_Role");
}
}
最後に、データベースに次のテーブルが表示されます:
AspNetUsers、AspNetRoles、AspNetUsersRoles、AspNetUsersClaims、AspNetUserLogins の代わりに、User、Role、User_Role、 User_Claim、User_Login。
もちろん、Userテーブルには追加のフィールドが含まれます: UserId (int ID)、Internal、UserFullName、およびUserEmail。