Questo è breve: ho erroneamente impostato una string
proprietà quando avrebbe dovuto essere int
. Non ci sono vincoli in quanto questo int
può essere opzionale. Anche se potrei rendere il nullable int, preferisco avere un valore predefinito pari a zero.
Quindi quando provo a eseguire le migrazioni:
Impossibile inserire il valore NULL nella colonna "Edad", tabella "EduPlaTools.dbo.Profesor"; la colonna non consente null. UPDATE fallisce. La dichiarazione è stata chiusa.
Il che ha senso. Quello che sta facendo è aggiornare i campi, e dato che molti campi hanno "NULL", è stato inserito. C'è un modo per mappare automaticamente i NULL in zero? O devo fare una dichiarazione SQL?
Ecco il codice migrationBuilder:
migrationBuilder.AlterColumn<int>(
name: "Edad",
table: "Profesor",
nullable: false,
oldClrType: typeof(string),
oldNullable: true);
Oh no Ho bisogno di scusarmi. Così stupido da non accorgersi di ciò, Entity Framework apparentemente impalcava l'altro tavolo con una simile proprietà Profesor
, quando in realtà era Estudiante
che aveva bisogno di un cambiamento.
migrationBuilder.AlterColumn<int>(
name: "Edad",
table: "Estudiante",
nullable: false,
oldClrType: typeof(string),
oldNullable: true,
defaultValue: 0);
Ora tutto funziona! Grazie a tutti!