我想重命名默认的身份表名称:
我了解如何使用 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");
}
但是,由于 DbModelBuilder 已被 ModelBuilder 取代,因此我在 EF7 上苦苦挣扎。有什么建议么?
最佳答案
您必须在 SqlServerPropertyBuilder 中使用 ForSqlServer 或 ForRelational 来更改列名,在 modelBuilder 中更改表名
modelBuilder.Entity<IdentityUser>()
.Property(o => o.Id)
.ForSqlServer()
.Column("User_Id")
modelBuilder.Entity<IdentityUser>()
.ForSqlServer()
.Table("User")
更新:
对于 beta 5 不再强制使用 ForSqlServer