2012-03-13 101 views
0

我知道EF檢查EdmMetadata表以確定模型類的版本是否與數據庫表相同。EF如何檢查數據庫是否是最新版本?

我想知道如何EF可以找到如果模型的版本已經改變。換句話說,我想知道EF與數據庫中的modelhash比較什麼?

回答

0

看看這個blog post關於EdmMetadata表。

對於你的問題,這是相關部分:

的EdmMetadata表是代碼首先說,如果用於創建數據庫 模型是現在正在 同一型號的簡單方法用於訪問數據庫。從EF 4.1開始, 表中存儲的唯一一行是包含用於創建數據庫的模型 的SSDL部分的散列的單個行。

(野人細節:當您在EDMX文件看,SSDL是 的一部分表示數據庫(存儲)架構文件這意味着 的EdmMetadata模型哈希唯一變化,如果數據庫架構 會產生變化;對概念模型(CSDL)或概念模型與數據庫(MSL)之間的映射的更改將不會影響散列。)