3 powody, dla których warto użyć pierwszego projektu kodu w Entity Framework
1) Mniej cruft, mniej wzdęć
Użycie istniejącej bazy danych do wygenerowania pliku modelu .edmx i powiązanych modeli kodów daje gigantyczny stos automatycznie generowanego kodu. Zaleca się, aby nigdy nie dotykać tych wygenerowanych plików, aby nie uszkodzić czegoś lub zmiany nie zostaną nadpisane w następnej generacji. Kontekst i inicjator są również zablokowane w tym bałaganie. Gdy chcesz dodać funkcjonalność do wygenerowanych modeli, np. Właściwość obliczonego odczytu, musisz rozszerzyć klasę modelu. To staje się wymogiem dla prawie każdego modelu i kończy się rozszerzeniem na wszystko.
Najpierw kodem Twoje ręcznie kodowane modele stają się bazą danych. Właśnie te pliki, które budujesz, generują projekt bazy danych. Nie ma żadnych dodatkowych plików i nie ma potrzeby tworzenia rozszerzenia klasy, jeśli chcesz dodać właściwości lub cokolwiek innego, o czym baza danych nie musi wiedzieć. Możesz po prostu dodać je do tej samej klasy, pod warunkiem przestrzegania właściwej składni. Do cholery, możesz nawet wygenerować plik Model.edmx, aby zobrazować kod, jeśli chcesz.
2) Większa kontrola
Kiedy najpierw wybierasz DB, jesteś na łasce tego, co jest generowane dla twoich modeli do użycia w twojej aplikacji. Czasami konwencja nazewnictwa jest niepożądana. Czasami relacje i skojarzenia nie są dokładnie tym, czego chcesz. Innym razem niestałe relacje z leniwym ładowaniem sieją spustoszenie w odpowiedziach API.
Chociaż prawie zawsze istnieje rozwiązanie problemów z generowaniem modeli, na które możesz natknąć się, kodowanie najpierw zapewnia pełną i precyzyjną kontrolę od samego początku. Możesz kontrolować każdy aspekt zarówno modeli kodu, jak i projektu bazy danych w zaciszu własnego obiektu biznesowego. Możesz dokładnie określić relacje, ograniczenia i powiązania. Możesz jednocześnie ustawić limity znaków właściwości i rozmiary kolumn bazy danych. Możesz określić, które powiązane kolekcje mają być chętnie ładowane lub w ogóle nie być serializowane. Krótko mówiąc, jesteś odpowiedzialny za więcej rzeczy, ale masz pełną kontrolę nad projektem swojej aplikacji.
3) Kontrola wersji bazy danych
Ten jest duży. Wersjonowanie baz danych jest trudne, ale przy pierwszej migracji kodu i pierwszej migracji jest znacznie bardziej efektywna. Ponieważ schemat bazy danych jest w pełni oparty na modelach kodu, kontrolując wersję kodu źródłowego, pomagasz w wersji bazy danych. Odpowiadasz za kontrolowanie inicjalizacji kontekstu, co może pomóc ci w wykonywaniu takich czynności, jak na przykład naprawianie danych biznesowych o ustalonym ziarnie. Odpowiadasz również za tworzenie pierwszych migracji kodu.
Po pierwszym włączeniu migracji generowane są klasa konfiguracji i migracja początkowa. Początkowa migracja to Twój bieżący schemat lub podstawowa wersja 1.0. Od tego momentu dodawane będą migracje oznaczone znacznikami czasu i oznaczone deskryptorem, aby ułatwić porządkowanie wersji. Gdy wywołasz migrację dodaną z menedżera pakietów, zostanie wygenerowany nowy plik migracji zawierający wszystko, co zmieniło się w modelu kodu automatycznie zarówno w funkcji UP (), jak i DOWN (). Funkcja UP stosuje zmiany do bazy danych, funkcja DOWN usuwa te same zmiany w zdarzeniu, które chcesz wycofać. Co więcej, możesz edytować te pliki migracji, aby dodać dodatkowe zmiany, takie jak nowe widoki, indeksy, procedury składowane i cokolwiek innego. Staną się prawdziwym systemem kontroli wersji dla schematu bazy danych.