2013-06-20 68 views
1

我想知道是否有可能在代碼中檢查我的edmx。實際上,我想要檢查的是,如果base和edmx文件之間存在差異,可能會導致代碼崩潰,以便向用戶(或團隊支持人員)說明基礎必須更新爲例。從數據庫檢查edmx有效性

Thak you :)

回答

0

EDMX是一種基於文本的格式,它在內部使用XML。所以你可以使用差異。

  1. 從當前數據庫版本
  2. 生成一個EDMX打開EDMX你的客戶向你發送
  3. DIFF使用您選擇

的工具,您將看到的差異很快這兩個文件。 XML也很容易閱讀,所以你可以知道問題出在哪裏。

如果您想在運行時自動檢查它,只要客戶的應用程序包含符合其數據庫版本的EDMX文件(只是在您提供應用程序時將其打包),仍然可以使用此方法。然後使用庫來做差異。

更新我不確定您可以在運行時生成EDMX文件,但如果有解決方案,它可能涉及EdmxWriter class。如果這不起作用,並且您絕對必須在運行時進行檢查(例如,您的客戶有權修改您交付的數據庫的模式),則最好是比較數據庫模式而不是EDMX文件。但是對於大多數情況,簡單的解決方案是在某些不會改變的地方包含一些關於數據庫版本的元信息(例如數據庫本身的版本號),然後檢查它。

+0

謝謝你的回答。運行時可以生成一個edmx文件嗎? – Angelure