Ik kwam hetzelfde probleem tegen bij het werken met Oracle en EF6. Het lijkt erop dat de Oracle-provider het niet ondersteunt. Er is echter een oplossing voor het geval je er nog geen hebt gevonden.
U moet eerst de eigenschap QuantityChanged als nullable instellen in uw model (of Fluent API, waar u dit ook doet). Vervolgens kunt u de opdracht add-migration uitvoeren die een migratiebestand genereert met de 'AddColumn'-methode in de 'Up'-methode. Voeg daarna een expliciete SQL-opdracht toe om alle waarden bij te werken naar de benodigde standaardwaarde. Als u wilt dat de kolom NOT NULL is, heeft u een ander SQL-commando nodig om de kolom te wijzigen en in te stellen op NOT NULL.
public override void Up()
{
AddColumn("MTA.PLAN_SHEETS", "QUANTITY_CHANGED", c => c.Decimal(precision: 3, scale: 0));
Sql("UPDATE MTA.PLAN_SHEETS SET QUANTITY_CHANGED = 1");
Sql("ALTER TABLE MTA.PLAN_SHEETS MODIFY QUANTITY_CHANGED NOT NULL");
}
Ik hoop dat dit helpt. Verwijs indien nodig naar mijn vraag:Hoe stel ik een standaardwaarde in voor een nieuwe kolom met EF6-migraties?