我正在使用實體框架7進行遷移以改變應用程序的Microsoft Sql Server數據庫的ASP.NET 5應用程序。實體框架7命令澄清 - 遷移添加與數據庫更新?
當我到達遷移步驟時遇到了一些問題,我想澄清實體框架命令migrations add
和database update
的作用。
這是我的理解是
> dnx ef migrations add Initial
會在名稱的文件夾中初始命名遷移包含代碼,將基於應用模型類創建表結尾的C#文件,
> dnx ef database update
執行代碼w將這些更改添加到數據庫中。但是,在執行migrations add
命令後,數據庫已創建,並且在運行database update
命令時控制檯發出錯誤,表示這些表已存在。
從我讀過的不同教程中,看起來migrations add
實際上不應該影響數據庫,並且在運行database update
時會發生更改,但看起來並非如此。
有人可以解釋這些步驟中的每一個在做什麼以及它們如何配合在一起?提前致謝!
ef migration add初始化不創建數據庫,只是遷移文件。我懷疑你之前創建了一個數據庫並運行它的更新,然後刪除遷移文件並重新創建它,而不刪除數據庫之前 – Tseng
我在現有數據庫上創建模型時遇到這些問題。我只是手動將遷移的名稱添加到__efhistory表。雖然EF7首先關注代碼,但實際情況是許多開發過程都是數據庫優先。 – Tamayi