我里面有数据库和多个表,我在我的项目中使用 EF 代码优先方法。

有时我需要更改数据库中部分或所有表的名称。

在代码优先方法中实现它的最佳方法是什么?

请您参考如下方法:

您需要使用迁移重命名表,即

public override void Up() 
{ 
    RenameTable("MyOldTableName", "MyNewTableName"); 
} 
 
public override void Down() 
{ 
    RenameTable("MyNewTableName", "MyOldTableName"); 
} 

然后您需要更改映射上的表名。如果使用数据注释,则可以使用 Table 属性指定表名

[Table("MyNewTableName")] 
class MyEntity 
{ 
    // props 
} 

如果你使用流畅的界面

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
      modelBuilder.Entity<MyEntity>().ToTable("MyNewTableName"); 
} 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!