2012-03-13 68 views
0

我知道EF检查EdmMetadata表以确定模型类的版本是否与数据库表相同。EF如何检查数据库是否是最新版本?

我想知道如何EF可以找到如果模型的版本已经改变。换句话说,我想知道EF与数据库中的modelhash比较什么?

回答

0

看看这个blog post关于EdmMetadata表。

对于你的问题,这是相关部分:

的EdmMetadata表是代码首先说,如果用于创建数据库 模型是现在正在 同一型号的简单方法用于访问数据库。从EF 4.1开始, 表中存储的唯一一行是包含用于创建数据库的模型 的SSDL部分的散列的单个行。

(野人细节:当您在EDMX文件看,SSDL是 的一部分表示数据库(存储)架构文件这意味着 的EdmMetadata模型哈希唯一变化,如果数据库架构 会产生变化;对概念模型(CSDL)或概念模型与数据库(MSL)之间的映射的更改将不会影响散列。)