Czy Code First z Migracjami lub SQL Server Data Tools lepiej pasuje?

11

Otrzymałem specyfikację, aby stworzyć nową stronę internetową MVC4, początkowo nie będzie to zbyt duży projekt, ale podejrzewam, że będzie się rozwijał, gdy firma będzie miała nowe pomysły na to.

Korzystając z .NET 4.5 ASP.NET MVC4 i EF muszę wybierać między kodem a pierwszym z migracji lub Sql Server Data Tools (SSDT) ​​do obsługi mojej bazy danych.

Za pomocą SSDT mogę kontrolować moją bazę danych w projekcie jako część mojego rozwiązania i obsługiwać zmiany od dewelopera do produkcji i dalej za pomocą plików dacpac. Moje doświadczenie z pierwszym kodem z MVC3 polegało na tym, że nie mogłem go używać poza programowaniem ze względu na ograniczone opcje bazy danych. Zawsze kończy się to upuszczeniem Db przy zmianie modelu lub ręczną obsługą zmian Db. Jednak przekonano mnie, że dzięki MVC4 Migrations już tak nie jest i mogę teraz przesyłać aktualizacje do Db.

Moje pytanie brzmi więc, które z nich jest najbardziej wydajne w użyciu w oparciu o oszczędność czasu / wysiłku w rozwoju, ale także skalowalność i możliwość obsługi zmian produkcyjnych. Podobał mi się kod-pierwszy i możliwość generowania mojej bazy danych z modeli. Czy wprowadzenie migracji sprawia, że ​​jest to opłacalne w produkcji?

James
źródło

Odpowiedzi:

2

Moim osobistym zdaniem jest to pierwsze świetne narzędzie i świetne narzędzie do rozwoju. Pierwszym etapem tworzenia bazy danych powinno być tworzenie skryptów zewnętrznych narzędzi lub ręczne, jeśli masz już produkcyjną bazę danych.

Pierwszy kod, który należy uwzględnić w rozwoju systemu kontroli wersji bazy danych i zapewnia rozproszony rozwój bazy danych.

Punktem wyjścia jest dobra seria:

http://coding.abel.nu/2012/02/using-entity-framework-to-create-a-database/

Gábor Plesz
źródło
Próbowałeś ssdt, w stanie porównać 2?
James
1
Tak, używam go regularnie w poprzedniej wersji SSDT. Szukałem najnowszych na tych linkach: msdn.microsoft.com/en-us/jj650015 , sqlblog.com/blogs/jamie_thomson/archive/2013/03/21/... , develop.com/sqlservertwelvedatatools , blogs.msdn.com/ b / ssdt / archive / 2012/12/13 /… . Nie próbowałem testu jednostki bazy danych, ale myślę, że klucz powinien być używany obok siebie jako codefirst i SSDT.
Gábor Plesz
Niedługo przeczytam te blogi. Nie sądziłem, że kodowanie i SSDT będą działać obok siebie. Chyba że masz na myśli używanie kodu podczas tworzenia i przechodzenia na SSDT do produkcji? Przeczytam twoje linki!
James
Robię pierwszą metodę programowania kodu bazy danych. Migracja kodu w pierwszej kolejności rozwiązuje kroki instalacji bazy danych (tworzenie nowej tabeli, nowej kolumny do istniejącej tabeli itp.). Na przykład, jeśli chcesz utworzyć testy jednostkowe bazy danych , możesz również użyć SSDT. Jeśli chcemy porównać dwie struktury , możemy również użyć SSDT. Przynajmniej go używam. Opracowanie i wdrożenie codefirst bardzo dobrze.
Gábor Plesz
Z tego, co wydaje się, SSDT jest idealny dla Db First i ze wszystkiego, co powiedziałeś i opublikowałeś, wydaje się, że opcje migracji dodane do MVC4 w rzeczywistości sprawiają, że najpierw można użyć kodu poza początkowym dev!
James