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 小时前
区县政府税务数据分析能力建设DID(2007-2025)
大数据·数据库·人工智能·信息可视化·微信开放平台
请叫我阿杰3 小时前
Ubuntu系统安装.NET SDK 7.0
数据库·ubuntu·.net
q***82913 小时前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
盖世英雄酱581364 小时前
commit 成功为什么数据只更新了部分?
java·数据库·后端
煎蛋学姐5 小时前
SSM网上旅游订票服务系统10r27(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·网上旅游订票系统·旅游服务数字化
海南java第二人5 小时前
数据库范式详解:从冗余到规范的升华之旅
数据库·oracle·ffmpeg
hyx0412196 小时前
mysql第5次作业---hyx
数据库·mysql
Daniel大人6 小时前
关于sqlite
数据库·sqlite
hixiong1236 小时前
C# OpenCVSharp实现Hand Pose Estimation Mediapipe
开发语言·opencv·ai·c#·手势识别
nsjqj6 小时前
MySQL数据库:表的增删改查 [CRUD](进阶)【一】
数据库·mysql