我用的Code First迁移工作(实体框架4.3),我想获得当前模型的压缩二进制版本,这样我可以手动将其与存储在最新的模型__MigrationHistory
表(或一个我都存储在一个文本文件)。
还有就是EdmMetadata.TryGetModelHash()
方法,但不提倡使用的被标记和我想避免,如果可能的(为适应未来发展的原因)。
我怎么会做这个EF 4.3下?
编辑:从多一点调查,并在信息帕维尔的答案我已经想通了,这个领域不再存储哈希但模型的压缩二进制表示。 正是这种我试图创造。
__MigrationHistory
表不再包含模型的哈希值。 相反,它现在包含在压缩形式的模型。 另外,验证模型是否改变与否不再依赖于仅仅比较散,因为迁移需要“知道”是什么改变和如何改变做。
EdmMetadata
是以前迁移是在4.3 / 5.0到集成实体Framowork并且将不通过EF 4.3+创建的数据库中创建正被使用的表。 你可以在这里找到一些额外的细节,以及: http://blog.oneunicorn.com/2012/01/13/ef-4-3-beta-1-what-happened-to-that-edmmetadata-table/
文章来源: How are the compressed models stored in the EF 4.3 Code First Migrations __MigrationHistory table created?