Vorrei rinominare i nomi delle tabelle di identità predefinite:
Capisco come farlo usando EF6:
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>()
.ToTable("Users", "dbo").Property(p => p.Id).HasColumnName("User_Id");
modelBuilder.Entity<User>()
.ToTable("Users", "dbo").Property(p => p.Id).HasColumnName("User_Id");
}
Tuttavia ho difficoltà con EF7 dato che DbModelBuilder è stato sostituito con ModelBuilder. Eventuali suggerimenti?
È necessario utilizzare ForSqlServer o ForRelational in SqlServerPropertyBuilder per modificare il nome della colonna e nel modelBuilder per modificare il nome della tabella
modelBuilder.Entity<IdentityUser>()
.Property(o => o.Id)
.ForSqlServer()
.Column("User_Id")
modelBuilder.Entity<IdentityUser>()
.ForSqlServer()
.Table("User")
Aggiornamento: per la versione beta 5 non è più obbligatorio utilizzare ForSqlServer
Provare
builder.Entity<ApplicationUser>().ToTable("User");
builder.Entity<ApplicationRole>().ToTable("Role");
builder.Entity<IdentityUserRole<string>>().ToTable("UserRole");
builder.Entity<IdentityUserClaim<string>>().ToTable("UserClaim");
builder.Entity<IdentityUserLogin<string>>().ToTable("UserLogin");
builder.Entity<IdentityRoleClaim<string>>().ToTable("RoleClaim");
builder.Entity<IdentityUserToken<string>>().ToTable("UserToken");
@noelbr