¿Cómo se crean los modelos comprimidos en la tabla EF 4.3 Code First Migrations __MigrationHistory?
-
12-12-2019 - |
Pregunta
Estoy trabajando con Code First Migrations (Entity Framework 4.3) y me gustaría obtener una versión binaria comprimida del modelo actual, para poder compararlo manualmente con el último modelo almacenado en __MigrationHistory
tabla (o a una que haya almacenado en un archivo de texto).
Ahí está el EdmMetadata.TryGetModelHash()
método, pero está marcado como obsoleto y quiero evitarlo si es posible (por razones de seguridad futura).
¿Cómo haría esto en EF 4.3?
Editar: De un poco más de investigación y la información en La respuesta de Pawel. Descubrí que este campo ya no almacena un hash sino una representación binaria comprimida del modelo.Es esto lo que estoy tratando de crear.
Solución
__MigrationHistory
La tabla ya no contiene un hash del modelo.En su lugar, ahora contiene el modelo en forma comprimida.Además, verificar si el modelo cambió o no ya no se basa simplemente en comparar el hash, ya que las migraciones necesitan "saber" qué cambió y cómo cambió.
EdmMetadata
era una tabla que se estaba usando antes de que se integraran las migraciones a Entity Framowork en 4.3/5.0 y no se creará en bases de datos creadas por EF 4.3+.También puede encontrar algunos detalles adicionales aquí: http://blog.oneunicorn.com/2012/01/13/ef-4-3-beta-1-what-happened-to-that-edmmetadata-table/