Saya menemukan masalah yang sama saat bekerja dengan Oracle dan EF6. Tampaknya penyedia Oracle tidak mendukungnya. Ada solusi, jika Anda belum menemukannya.
Anda harus terlebih dahulu mengatur properti QuantityChanged sebagai nullable dalam model Anda (atau Fluent API, di mana pun Anda menangani ini). Kemudian Anda dapat menjalankan perintah add-migration yang akan menghasilkan file migrasi dengan metode 'AddColumn' di metode 'Naik'. Setelah itu, tambahkan perintah SQL eksplisit untuk memperbarui semua nilai ke nilai default yang diperlukan. Jika Anda membutuhkan kolom menjadi NOT NULL untuk bergerak maju, Anda akan memerlukan perintah SQL lain untuk memodifikasi kolom dan menyetelnya ke 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");
}
Semoga membantu. Referensi pertanyaan saya jika diperlukan:Bagaimana cara menetapkan nilai default untuk kolom baru menggunakan migrasi EF6?