EF Core は移行を変更し、データベース テーブルを更新します

シーン

EF 移行を通じて、データベース テーブルの名前、フィールド、主キー、インデックスを変更する必要があります。

通常、テーブルの名前が変更されると、生成された ef マイグレーションによって古いテーブルが削除され、新しいテーブルが作成されます。古いテーブルを削除したくない場合は、生成されたマイグレーションを変更する必要があります。

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

        }

おすすめ

転載: blog.csdn.net/Helloantoherday/article/details/132862679