Change or rename a column name without losing data with Entity Framework Core 2.0

后端 未结 2 1371
故里飘歌
故里飘歌 2021-02-19 03:14

I realised that I had spelt one of my column headers incorrectly so I changed it in the model and created a new migration to update it into the database. All worked perfectly un

2条回答
  •  说谎
    说谎 (楼主)
    2021-02-19 03:38

    EF Core creates its migrations by comparing your models to the current database snapshot (a c# class). It then uses this to create a migration file you can review. If EF Core cannot always know if you replaced this column or created a new column. When you check your migration file, make sure there are no column drops, index drops (related to this column) etc. You can replace all these with something like this:

    migrationBuilder.RenameColumn(
        name: "ColumnA",
        table: "MyTable",
        newName: "ColumnB");
    

提交回复
热议问题