0
我正在使用EF來生成我的模型使用Model.context.tt模板described in this post.從數據庫更新時保留對模型的更改?
我的模型已生成後,我想進去,並對模型進行一些修改。我能夠做到這一點,但我遇到的問題是,如果我從數據庫更新模型,它將覆蓋我所做的任何定製。
是否有任何方法來保留我對模型所做的更改,同時仍從數據庫更新?
我正在使用EF來生成我的模型使用Model.context.tt模板described in this post.從數據庫更新時保留對模型的更改?
我的模型已生成後,我想進去,並對模型進行一些修改。我能夠做到這一點,但我遇到的問題是,如果我從數據庫更新模型,它將覆蓋我所做的任何定製。
是否有任何方法來保留我對模型所做的更改,同時仍從數據庫更新?
您需要創建與名稱完全相同的部分類,並在與生成的模型相同的名稱空間中,然後才能修改該類,而不必在每次重新生成T4模板時都不會丟失更改。
如果您需要對原始類進行更精細的調整編輯,則必須編輯.tt模板。雖然我會高度推薦建議查看Code First(這對於現有數據庫來說更可能),因爲您可以完全控制類+映射。
您可能首先複製當前生成的文件並將它們用作代碼優先模型的基礎。
一個常見的誤解是Code First不適用於現有的數據庫/數據庫第一個工作,因爲名稱。但是這是錯誤的。
Code先看起來對我來說這可能是一個很好的選擇。從數據庫優先轉換到代碼優先有多難?你能推薦關於這個開關的任何閱讀嗎? – 2015-03-03 00:19:35
另外 - 我所做的更改最終需要複製到生產數據庫服務器。我假設可以從我的項目更新數據庫而不丟失所有數據? – 2015-03-03 00:22:12