2011-03-28 69 views
5

使用在新的4.1 RC提供的代碼優先方法。保持數據庫內容的型號更改

有沒有辦法堅持存儲在當模式改變數據庫的當前數據?數據庫由實體框架創建,通常數據庫被刪除並在模型更改時重新創建。

顯然,一旦模型發生變化,也將無法使用上下文對象連接到數據庫檢索數據,所以有什麼選擇呢?

+0

也許與某些方面有關http://stackoverflow.com/questions/4485742/ef-code-first-recreate-database-if-model-changes – 2011-03-28 19:15:33

回答

3

代碼首先不支持數據庫遷移/進化呢。如果你想用DbContext Generator T4模板和Entity designer database generation組件進行增量DB開發,首先使用模型(EDMX),它可以創建diff。來自模型的腳本。

2

From Scott Gu:

重要的是,自動創建 數據庫選項只是一種選擇 - 它 絕對不是必需的。如果您 在 現有數據庫指向您的連接字符串,然後EF「代碼優先」 不會嘗試,並自動創建一個 。自動重新 選項也不會被啓用,除非 要明確EF做到這一點 - 所以 你不必擔心它 刪除和重建數據庫 除非你明確指出,你 希望這樣做。

+0

但這也意味着我將手動編輯數據庫方案來再次匹配模式吧? – 2011-03-28 18:36:27

+0

也許......說實話,我認爲這不是什麼大不了的事情,但它看起來像代碼首先不會保持模型和數據庫同步而不重寫數據庫 – taylonr 2011-03-28 20:43:08