2009-02-05 74 views
3

我瞭解不自動刷新.dbml(Linq2Sql),.edmx(Linq2Entities)或.hbm.xml(NHibernate)背後的原因。在每個ORM解決方案中,如果數據庫中有更改,則需要更新這些文件。 有沒有辦法自動刷新這些文件,如果你100%確定它不會破壞任何東西?當數據庫發生變化時,您如何管理ORM層?

我相當熟悉RoR中的遷移。 .NET世界中是否有可靠的遷移工具?

一般來說,你如何保持敏捷的數據庫設計,而不是重複手動重新創建這些映射文件?

如果此問題重複,請提供鏈接。我無法找到一個。

回答

1

我不確定你對更新EDMX的猶豫是什麼。只需繼續並從數據庫更新模型即可。機會是非常好的,它會工作。但是,如果沒有,只需從源代碼控制中獲取舊版本,然後手動進行更改。

另一方面,使用LINQ to SQL更難,因爲沒有更新功能。您必須從模型中移除已更改的對象,重新添加它們,然後手動重新應用所做的任何更改。同樣,源代碼控制在這裏至關重要;你會想要區分以前版本的XML文件,以確保你沒有忘記任何東西。

我不確定你對遷移的問題意味着什麼。是的,有一個工具(RikMigrations),它和Rails中的遷移類似。但是,遷移當然會改變你的數據庫元數據。它們不會更改您的ORM映射。這在別處完成,無論是在Rails和.NET中。

+0

我的問題是刪除並拖放edmx again..it得到有點重複 – Perpetualcoder 2009-02-05 19:23:47

相關問題