5

我正在使用 Code First Migrations (Entity Framework 4.3),我想获得当前模型的压缩二进制版本,以便我可以手动将其与__MigrationHistory表中存储的最新模型(或我拥有的模型进行比较)存储在文本文件中)。

有这种EdmMetadata.TryGetModelHash()方法,但它被标记为已弃用,如果可能的话,我想避免它(出于面向未来的原因)。

我将如何在 EF 4.3 下执行此操作?

编辑:通过更多调查和Pawel 回答中的信息,我发现该字段不再存储哈希,而是模型的压缩二进制表示。这就是我想要创造的。

4

1 回答 1

9

__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/

于 2012-05-22T00:28:52.520 回答