Pracuję z Code First Migrations (Entity Framework 4.3) i chcę uzyskać skompresowaną wersję binarną bieżącego modelu, dzięki czemu mogę ręcznie porównać go z najnowszym modelem przechowywanym w tabeli __MigrationHistory
(lub jeden zapisałem w pliku tekstowym).W jaki sposób są przechowywane skompresowane modele w Kodzie EF 4.3 Pierwsze migracje __MigrationHistory table created?
Istnieje metoda
EdmMetadata.TryGetModelHash()
, ale jest to oznaczone jako przestarzałe i chcę tego uniknąć, jeśli to możliwe (z powodów związanych z przyszłością).
Jak to zrobić w ramach EF 4.3?
Edit: Z trochę więcej badań i informacji w Pawel's answer Mam zorientowali się, że to pole nie przechowuje hash ale skompresowany binarną reprezentację modelu. To właśnie próbuję stworzyć.
Dzięki, zaraz po tym, jak to opublikowałem, zdałem sobie sprawę, że pole 'Model' faktycznie przechowywało dane binarne zamiast skrótu, więc to potwierdza moje podejrzenia. Jednak wciąż nie odpowiada na pytanie, w jaki sposób mogę * stworzyć * kompatybilną skompresowaną wersję mojego modelu - chociaż +1 daje kilka przydatnych informacji. –
Dekompresowanie modelu za pomocą zip/gzip powinno dać plik edmx. – Pawel
Więc w jaki sposób mogę to zrobić - o ile wiem, nie ma żadnych plików "edmx" w przypadku korzystania z podejścia Code First? –