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");

        }
相关推荐
稀饭过霍2 分钟前
【.NET 10.0】使用FluentValidation
c#·mvc·.net
你住过的屋檐3 分钟前
【oracle】oracle数据处理将一行数据根据条件拆分为多行
数据库·oracle
Channing Lewis19 分钟前
数据库的dump备份
数据库
HUST21 分钟前
C 语言 第七讲:数组和函数实践:扫雷游戏
c语言·开发语言·数据结构·vscode·算法·游戏·c#
开开心心_Every28 分钟前
无广告干扰:简单好用文字LOGO设计工具
xml·java·网络·数据库·华为od·华为云·excel
悄悄敲敲敲31 分钟前
数据库:库的操作
数据库
JAVA学习通36 分钟前
数据库备份与恢复(2)
数据库
lhrimperial39 分钟前
MongoDB核心技术深度解析题
数据库·mongodb
宠..40 分钟前
为单选按钮绑定事件
运维·服务器·开发语言·数据库·c++·qt·microsoft
宠..1 小时前
对单选按钮分组
开发语言·数据库·c++·qt·安全·安全性测试