1

我想知道是否有可能在代码中检查我的 edmx。事实上,我想检查的是基础文件和 edmx 文件之间是否存在可能导致我的代码崩溃的差异,以便向用户(或团队支持)说基础必须更新例如。

谢谢你:)

4

1 回答 1

0

EDMX 是一种基于文本的格式,它在里面使用 XML。所以你可以使用差异。

  1. 从您当前的数据库版本生成 EDMX
  2. 打开客户发送给您的 EDMX
  3. 使用您选择的实用程序区分两个文件

你会很快看到差异。XML 也易于阅读,因此您可以确切地知道问题出在哪里。

如果您想在运行时自动检查,您仍然可以使用此方法,只要客户的应用程序包含适合其数据库版本的 EDMX 文件(只需在交付应用程序时打包即可)。然后使用库来做差异。

更新我不确定您是否可以在运行时生成 EDMX 文件,但如果有解决方案,它可能涉及EdmxWriter 类。如果这不起作用,并且您绝对必须在运行时进行检查(例如,您的客户有权修改您交付的数据库的架构),那么您最好比较数据库架构而不是 EDMX 文件。但对于大多数情况,简单的解决方案是在不会更改的地方包含一些关于数据库版本的元信息(例如,数据库本身的版本号),然后检查它。

于 2013-06-20T08:09:10.703 回答