Entity framework 实体框架-已更改生成的字段/列名
我有一个外键字段,它是由实体框架(6)在运行时生成的。此字段与接口T字段相关。因此,我们最终得到一个名为Entity framework 实体框架-已更改生成的字段/列名,entity-framework,ef-fluent-api,Entity Framework,Ef Fluent Api,我有一个外键字段,它是由实体框架(6)在运行时生成的。此字段与接口T字段相关。因此,我们最终得到一个名为InterfaceFieldName\u Id的字段-我想将其重命名为TypeFieldName\u Id。我知道如何通过在POCO类中添加FK Id字段来实现这一点,但我不希望这样做 是否有办法重命名此生成的字段名?您可以流畅地指定列名: modelBuilder.Entity<YourEntity>() .HasRequired(c => c.Inte
InterfaceFieldName\u Id
的字段-我想将其重命名为TypeFieldName\u Id
。我知道如何通过在POCO类中添加FK Id字段来实现这一点,但我不希望这样做
是否有办法重命名此生成的字段名?您可以流畅地指定列名:
modelBuilder.Entity<YourEntity>()
.HasRequired(c => c.InterfaceFieldName)
.WithMany(d => d.YourColumnName)
.HasForeignKey(c => c.FieldName);
modelBuilder.Entity()
.HasRequired(c=>c.InterfaceFieldName)
.WithMany(d=>d.YourColumnName)
.HasForeignKey(c=>c.FieldName);
您可以使用方法重命名模型中未定义的外键:
modelBuilder.Entity<Entity1>()
.HasRequired(c => c.Entity2NavProperty)
.WithMany(t => t.Entity1NavigationProperty)
.Map(m => m.MapKey("TypeFieldName_Id"));
如果要在数据库中为TypeFieldName
使用不同的名称,也可以这样做:
modelBuilder.Entity<Entity1>().Property(d=>d.TypeFieldName).HasColumnName("TypeFieldName_Id")
modelBuilder.Entity().Property(d=>d.TypeFieldName).HasColumnName(“TypeFieldName\u Id”)
谢谢,我的问题可能写得不太清楚。但是我想重命名存储在数据库中的字段。一切联系在一起的方式都很好。第一部分正是我想要的。我以为映射命令会做一些完全不同的事情,所以从未尝试过。谢谢
modelBuilder.Entity<Entity1>().Property(d=>d.TypeFieldName).HasColumnName("TypeFieldName_Id")