Natknąłem się na ten sam problem podczas pracy z Oracle i EF6. Wygląda na to, że dostawca Oracle tego nie obsługuje. Istnieje jednak obejście, na wypadek gdybyś jeszcze go nie znalazł.
Najpierw musisz ustawić właściwość QuantityChanged jako dopuszczającą wartość null w modelu (lub interfejsie API Fluent, gdziekolwiek to obsługujesz). Następnie można uruchomić polecenie add-migration, które wygeneruje plik migracji metodą „AddColumn” w metodzie „Up”. Następnie dodaj jawne polecenie SQL, aby zaktualizować wszystkie wartości do wymaganej wartości domyślnej. Jeśli chcesz, aby kolumna miała wartość NOT NULL, będziesz potrzebować innego polecenia SQL, aby zmodyfikować kolumnę i ustawić ją na wartość 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");
}
Mam nadzieję, że to pomoże. W razie potrzeby odnieś się do mojego pytania:Jak ustawić domyślną wartość dla nowej kolumny przy użyciu migracji EF6?