7

Mam kilka baz danych obecnie używających FluentMigrator i jestem ciekawy, jak porównać Entity Framework Migrations.Co może zrobić Entity Framework Migrations, aby FluentMigrator nie mógł tego zrobić?

Czy EF może migrować dane początkowe w migracji i selektywnie uruchamiać skrypty migracji na podstawie środowisk takich jak FluentMigrator z tagami i profilami?

Używam już bazy danych EF najpierw jako ORM do mojej aplikacji, i myślę, że przeczytałem gdzieś, że Migracje EF są obsługiwane również dla nie-Code First EF, ale mój zespół myślał o refaktoryzacji kodu Pierwsze podejście i tak ze względu na niektóre ograniczenia z podejściem Database First. Czy więc Migracje EF miałyby więcej sensu w użyciu, niż miałyby inną strukturę migracyjną 3rd party, gdyby chodziło o pierwsze podejście do kodu?

+0

Cóż, przede wszystkim, FM nie może automatycznie generować migracji. Oznacza to, że nie skanuje bazy danych, nie określa, co się zmieniło, i nie tworzy skryptu na podstawie porównania. EFM to robi. –

+0

Teraz, trzy lata później, jestem ciekawa, czy próbowałeś zmiany i jakie masz doświadczenie. Wygląda na to, że większość osób korzystających z migracji korzysta z jednej lub drugiej strony i nie ma zdania na temat drugiej. –

Odpowiedz

1

Nie mam żadnego doświadczenia z FluentMigrator, ale po krótkim przejrzeniu dokumentacji wygląda na to, że musisz ręcznie utworzyć swoje migracje?

EF wyświetli monit o migrację za każdym razem, gdy zmieni się model i uruchomi się aplikacja. To sprawia, że ​​jest to łatwe, ale denerwujące w tym samym czasie. Po włączeniu migracji wszystkie zmiany w modelu, które wymagałyby zmiany bazy danych, będą wymagać migracji. Możesz zmodyfikować migrację i jest ona generowana automatycznie. Po prostu obejrzyj wersję "w dół" ... Miałem problemy.

Najpierw kod jest całkiem bezproblemowy. Nawet obsługuje bardziej złożone modele obiektów, takie jak podklasy. Można nawet określić sposób generowania tabel (tabela dla każdego typu, tabeli podstawowej i tabeli dla każdego typu lub pojedynczej tabeli i klucza).

Wszystko, co powiem, jeśli zawsze będziesz generował kod C# do aktualizacji bazy danych, skorzystam z wbudowanych migracji EF. Wykonują dla ciebie większość pracy.

Powiązane problemy