2013-06-20 48 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