Jag stötte på samma problem när jag arbetade med Oracle och EF6. Det verkar som om Oracle-leverantören inte stöder det. Det finns dock en lösning, om du inte redan har hittat en.
Du måste först ställa in QuantityChanged-egenskapen som nullbar i din modell (eller Fluent API, var du än hanterar detta). Sedan kan du köra kommandot add-migration som genererar en migreringsfil med metoden 'AddColumn' i metoden 'Up'. Lägg sedan till ett explicit SQL-kommando för att uppdatera alla värden till standardvärdet som behövs. Om du vill att kolumnen ska vara NOT NULL framåt, behöver du ett annat SQL-kommando för att ändra kolumnen och ställa in den på 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");
}
Jag hoppas det här hjälper. Hänvisa till min fråga om det behövs:Hur ställer jag in ett standardvärde för en ny kolumn med EF6-migreringar?