重命名 EF Core 中的表

问题描述 投票:0回答:1

有人知道如何重命名 Entity Framework Core 中的现有表吗?

如果我只是重命名表,迁移将删除旧表并添加新表。这意味着我丢失了所有数据。

我知道有一种迁移方法可以重命名表,但我最终需要一个可以运行多次并进行所有所需转换的迁移。目前还不清楚如何直接重命名表并相应更新底层模型。

c# asp.net asp.net-core entity-framework-core entity-framework-migrations
1个回答
0
投票

实际上,如果你不想使用迁移来重命名数据库名称,我建议你可以直接通过运行一些sql查询来重命名它,然后在DbContext的OnModelCreating方法中修改名称。

例如,如果你有employee表,你想将其修改为employee1表。

您可以使用

sp_rename 
查询直接重命名它并修改表映射,如下所示:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
     
        modelBuilder.Entity<Employee>().ToTable("Employees1");
    }
© www.soinside.com 2019 - 2024. All rights reserved.