我正在使用Code First Migrations(实体框架4.3),我想获得当前模型的压缩二进制版本,以便我可以手动将其与{{1}中存储的最新模型进行比较表(或存储在文本文件中的表)。
有 __MigrationHistory
方法,但是这被标记为已弃用,如果可能,我希望避免使用它(出于未来的原因)。
我如何在EF 4.3下执行此操作?
编辑:通过更多调查和Pawel's answer中的信息,我发现此字段不再存储散列,而是模型的压缩二进制表示。这就是我想要创造的。
答案 0 :(得分:8)
__MigrationHistory
表不再包含模型的哈希值。相反,它现在包含压缩形式的模型。此外,验证模型是否更改不再仅仅依赖于比较哈希值,因为迁移需要“知道”更改的内容以及更改的内容。
EdmMetadata
是在将迁移集成到4.3 / 5.0中的Entity Framowork之前使用的表,并且不会在EF 4.3+创建的数据库中创建。您也可以在此处找到一些其他详细信息:http://blog.oneunicorn.com/2012/01/13/ef-4-3-beta-1-what-happened-to-that-edmmetadata-table/