Wie werden die komprimierten Modelle in der Tabelle EF 4.3 Code First Migrations __MigrationHistory erstellt?
-
12-12-2019 - |
Frage
Ich arbeite mit Code-First-Migrationen (Entity Framework 4.3) und möchte eine komprimierte Binärversion des aktuellen Modells erhalten, damit ich es manuell mit dem neuesten Modell vergleichen kann, das in der gespeichert ist __MigrationHistory
tabelle (oder zu einer, die ich in einer Textdatei gespeichert habe).
Da ist der EdmMetadata.TryGetModelHash()
methode, aber das ist als veraltet markiert und ich möchte es nach Möglichkeit vermeiden (aus zukunftssicheren Gründen).
Wie würde ich das unter EF 4.3 machen?
Bearbeiten: Von etwas mehr Nachforschungen und den Infos in Pawels Antwort Ich habe herausgefunden, dass in diesem Feld kein Hash mehr gespeichert ist, sondern eine komprimierte Binärdarstellung des Modells.Das versuche ich zu erschaffen.
Lösung
__MigrationHistory
tabelle enthält keinen Hash des Modells mehr.Stattdessen enthält es jetzt das Modell in komprimierter Form.Um zu überprüfen, ob sich das Modell geändert hat oder nicht, muss nicht mehr nur der Hash verglichen werden, da Migrationen "wissen" müssen, was sich geändert hat und wie es sich geändert hat.
EdmMetadata
war eine Tabelle, die vor der Integration von Migrationen in Entity Framowork in 4.3 / 5.0 verwendet wurde und nicht in Datenbanken erstellt wird, die mit EF 4.3+ erstellt wurden.Einige zusätzliche Details finden Sie auch hier: http://blog.oneunicorn.com/2012/01/13/ef-4-3-beta-1-what-happened-to-that-edmmetadata-table/