有人知道如何重命名 Entity Framework Core 中的现有表吗?
如果我只是重命名表,迁移将删除旧表并添加新表。这意味着我丢失了所有数据。
我知道有一种迁移方法可以重命名表,但我最终需要一个可以运行多次并进行所有所需转换的迁移。目前还不清楚如何直接重命名表并相应更新底层模型。
实际上,如果你不想使用迁移来重命名数据库名称,我建议你可以直接通过运行一些sql查询来重命名它,然后在DbContext的OnModelCreating方法中修改名称。
例如,如果你有employee表,你想将其修改为employee1表。
您可以使用
sp_rename
查询直接重命名它并修改表映射,如下所示:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Employee>().ToTable("Employees1");
}