1
A
回答
1
EF沒有任何內置的用於生成diff腳本的內容[尚未]。 EF可以刪除並重新創建數據庫,但這在現實世界中並不真正可用......他們似乎有數據庫遷移計劃,但我不知道何時/如果可用(http://blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first-database-evolution-aka-migrations.aspx)。
如果您想進行增量更改(添加/刪除表,列,約束,索引等),您將不得不編寫SQL腳本,這些腳本應用從版本1數據庫到版本2數據庫所需的更改。將數據庫的「版本號」存儲在數據庫的某個位置可能是一個好主意,以便在您有大量不同版本的「野性」時更容易地應用正確的腳本。
另外還有一些第三方工具可以基於EDMX/db差異生成增量差異腳本(「alter table ...」等)。我的'Model Comparer'用於EF4:http://huagati.blogspot.com/2010/07/introducing-model-comparer-for-entity.html
0
我們正在使用的一種替代方法是保留兩個實體框架模型,一個是舊的,另一個是新的。藉助反思,您可以創建最適合的遷移算法。
舊的EF模型可以被序列化爲XML或任何這樣的格式。然後,您可以刪除並重新創建數據庫,並從XML中反序列化您的EF模型,並將它們放回到新數據庫中。然而,插入身份似乎沒有什麼問題,但可以進行管理。
但是,這種解決方案只適用於較大數據庫的小型數據庫,您將需要更先進的解決方案。
相關問題
- 1. 實體框架更改數據庫
- 2. 數據綁定實體框架導航屬性 - 處理更改
- 3. 如何使用實體框架更改模式數據庫
- 4. 如何在實體框架連接上更改數據庫
- 5. 實體框架:修改模型時如何更新數據庫
- 6. 實體框架中的數據庫錯誤處理
- 7. 如何更改數據庫 - 實體框架(mysql數據庫)使用的模式?
- 8. 實體框架不會保存數據庫中的更改
- 9. 使用實體框架恢復數據庫中的更改
- 10. 更改數據庫中的實體框架6
- 11. 實體框架6 - 更新數據庫
- 12. 如何使用Javascript中的實體框架更新數據庫
- 13. 實體框架,數據庫
- 14. 在EF4(實體框架4)中更改數據庫表名稱
- 15. 實體框架更新數據庫模式更改
- 16. 實體框架 - 如何處理實體中的可空對象
- 17. 如何處理在實體框架
- 18. 我是否處理好數據庫連接(實體框架)?
- 19. 在實體框架數據庫操作期間處理錯誤
- 20. 使用實體框架處理數據庫遷移
- 21. 如何使用實體框架使用DTO更新數據庫中的實體
- 22. 處理實體框架OptimisticConcurrencyException
- 23. 實體框架內處理
- 24. 實體框架不顯示數據庫的最新更改
- 25. 實體框架不保存對數據庫的更改
- 26. 實體框架5刪除我的數據庫更改模型
- 27. 實體框架 - 只保留對數據庫的部分更改
- 28. 實體框架更改我的默認數據庫名稱
- 29. 數據庫中的實體框架ICollections
- 30. 你如何處理查詢表/數據與實體框架?