我想知道是否有可能在代码中检查我的edmx。实际上我要检查的是基础和edmx文件之间是否存在差异,这些差异可能导致我的代码崩溃,以便向用户(或团队支持)说明必须更新基础的例子。
Thak you :))
答案 0 :(得分:0)
EDMX是一种基于文本的格式,它在内部使用XML。所以你可以使用差异。
你会很快看到差异。 XML也很容易阅读,因此您可以知道问题的确切位置。
如果您想在运行时自动检查它,您仍然可以使用此方法,只要客户的应用程序包含适合其数据库版本的EDMX文件(只在您提供应用程序时打包它)。然后使用库来做差异。
更新我不确定您是否可以在运行时生成EDMX文件,但如果有解决方案,则可能涉及EdmxWriter class。如果这不起作用,并且您必须在运行时进行检查(例如,您的客户有权修改您提供的数据库的模式),那么您最好比较数据库模式而不是EDMX文件。但是对于大多数情况,简单的解决方案是在某些地方包含一些关于数据库版本的元信息,它不会改变(例如数据库本身的版本号),然后检查一下。