EF Core修改Migration更新数据库表

场景

需要通过EF Migration修改数据库一张表的名称,字段,主键,索引

一般重命名表,生成的ef migration会删除旧表,创建一张新表,如果想不删除旧表,需要修改生成的migration

c# 复制代码
protected override void Up(MigrationBuilder migrationBuilder)
{
			migrationBuilder.RenameTable(
                name: "oldTableName",
                newName: "newTableName");

            migrationBuilder.DropPrimaryKey(
                name: "old_pk",
                table: "newTableName");

            migrationBuilder.AddPrimaryKey("new_pk", "newTableName", "columnName");

            migrationBuilder.RenameIndex(
                name: "old_indexName",
                newName: "new_indexName",
                table: "newTableName");
            
            migrationBuilder.RenameColumn("old_columnName", "newTableName", "new_columnName");

}

protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.RenameTable(
                name: "newTableName",
                newName: "oldTableName");

            migrationBuilder.DropPrimaryKey(
                name: "new_pk",
                table: "oldTableName");

            migrationBuilder.AddPrimaryKey("old_pk", "oldTableName", "coumnName");
            
            migrationBuilder.RenameIndex(
                name: "new_indexName",
                newName: "old_indexName",
                table: "oldTableName");
                
			migrationBuilder.RenameColumn("new_columnName", "oldTableName", "old_columnName");

        }
相关推荐
Starry_hello world8 分钟前
MySql 表的操作
数据库·笔记·mysql
半瓶啤酒一醉方休35 分钟前
C# 查询电脑已安装所有软件并打印txt保存到桌面
开发语言·c#
钢铁男儿42 分钟前
深入解析C#并行编程:从并行循环到异步编程模式
开发语言·c#
山茶花开时。1 小时前
[Oracle] ADD_MONTHS()函数
数据库·oracle
派可数据BI可视化2 小时前
汽车流通行业4S门店生存性指标:零服吸收率
数据库·信息可视化·数据分析·汽车·商业智能bi
怒放吧德德2 小时前
软考架构师:数据库的范式
数据库
王柏龙3 小时前
Mongodb入门介绍
数据库·mongodb
小毛驴8503 小时前
Oracle 的 exp(传统导出工具)和 expdp(Data Pump 导出工具)是两种命令对比
数据库·oracle
Databend4 小时前
迈向 AI 驱动的数据平台新时代 | Databend Meetup·北京站活动回顾
数据库
秋难降5 小时前
零基础学习SQL(三)——数据查询语言(DQL)
数据库·sql·mysql