我里面有数据库和多个表,我在我的项目中使用 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");
}