正如EF Code First中的常見情況,我生成了一個「初始創建」遷移文件,其中位於過時的數據庫模型(我正在開發該應用程序該模型仍在改變)。現在我在代碼中定義了一個「新模型」,而不是創建一個新的遷移,因爲我只想更新已經存在的文件,因爲它仍然是最初的創建遷移。如何在同一個.cs文件上重新創建初始遷移
我已經使用這個沒有任何的運氣
更新數據庫試圖-targetmigration $ initialcreate
它返回
Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.
You can use the Add-Migration command to write the pending model changes to a code-based migration.
我也試過這一個,但它總是創建一個新的.cs文件
附加遷移InitialCreate
我會appreaciate你的幫助
從我的理解,你不想創建一個新的遷移?如果你可以嘗試刪除整個遷移文件夾並再次執行'Enable-Migration'。您將看到新的'InitialCreate'文件將包含您的模型。但是,這似乎並不合適,因爲代碼優先遷移的目的是列出不同的遷移週期,其中包含您在模型中添加的內容(無論是類還是類)屬性)。你可以選擇回滾到以前的遷移(你已經用'-targetmigration'完成了),所以它非常靈活。 –
另外,如果上述不起作用,您可以嘗試'Update-Database -TargetMigration:0'。 –
@ShawnYan是的,我不想創建新的遷移,因爲我的模型仍在改變,所以沒有「遷移」。 –