Solución:
EF Core crea sus migraciones comparando sus modelos con la instantánea de la base de datos actual (clase ac #). Luego lo usa para crear un archivo de migración que puede revisar. Si EF Core no siempre puede saber si reemplazó esta columna o creó una nueva columna. Cuando verifique su archivo de migración, asegúrese de que no haya caídas de columna, caídas de índice (relacionadas con esta columna), etc. Puede reemplazar todo esto con algo como esto:
migrationBuilder.RenameColumn(
name: "ColumnA",
table: "MyTable",
newName: "ColumnB");
migrationBuilder.RenameColumn
generalmente funciona bien, pero a veces también tienes que manejar índices.
migrationBuilder.RenameColumn(name: "Identifier", table: "Questions", newName: "ChangedIdentifier", schema: "dbo");
Ejemplo de mensaje de error al actualizar la base de datos:
Microsoft.Data.SqlClient.SqlException (0x80131904): el índice ‘IX_Questions_Identifier’ depende de la columna ‘Identificador’.
El índice ‘IX_Questions_Identifier’ depende de la columna ‘Identificador’.
RENAME COLUMN Identifier falló porque uno o más objetos acceden a esta columna.
En este caso, debe hacer el cambio de nombre de esta manera:
migrationBuilder.DropIndex(
name: "IX_Questions_Identifier",
table: "Questions");
migrationBuilder.RenameColumn(name: "Identifier", table: "Questions", newName: "ChangedIdentifier", schema: "dbo");
migrationBuilder.CreateIndex(
name: "IX_Questions_ChangedIdentifier",
table: "Questions",
column: "ChangedIdentifier",
unique: true,
filter: "[ChangedIdentifier] IS NOT NULL");