Code First nie nadaje się do zastosowań na dużą skalę. Realizacja rozwoju aplikacji na dużą skalę jest bardzo duża.
Zazwyczaj cykl życia Twojej aplikacji biznesowej to:
- Wersja 1 jest w produkcji
- Wersja 2 jest w fazie beta
- Wersja 3 jest w fazie rozwoju
- Wersja 4 jest w fazie planowania.
Są też inne mosty komunikacyjne między aplikacjami, niektóre zaplanowane zadania, niektóre integracje stron trzecich, usługi sieciowe dla niektórych różnych urządzeń komunikacyjnych, takich jak telefon komórkowy itp
Ostatecznie Code First używa ObjectContext Modelu Entity, starszy EF generujący EDMX i używanie ObjectContext z EntityObject było naprawdę wystarczające do wszystkiego. Możesz łatwo dostosować szablon tekstowy do generowania kodu. Metoda wykrywania zmian jest wolniejsza w przypadku implementacji ObjectContext, ale zamiast generować proxy zespół EF mógł z łatwością poprawić szybkość wykrywania zmian zamiast najpierw wymyślać kod na nowo.
Zautomatyzowana migracja
Automatyczna migracja brzmi dobrze w teorii, ale w praktyce jest niemożliwa po uruchomieniu. Jest dobry tylko do prototypowania, opracowywania szybkich wersji demonstracyjnych.
Migracja kodu w ogóle nie jest odpowiednia w takim systemie. Wersja 1 i wersja 2 najprawdopodobniej komunikują się z tą samą bazą danych. Wersja 3 i wersja 4 są zwykle tymczasowe i mają inną bazę danych.
Najpierw baza danych
Baza danych to praktyczne podejście, łatwe porównywanie, wizualizacja i obsługa skryptów SQL. DBA mogą z łatwością pracować.
Szablony tekstowe
Stworzyliśmy własne szablony tekstowe do wyszukiwania i tworzenia EDMX i ObjectContext z niewielką niestandardową implementacją, która rozwiązuje problemy z wydajnością. Istnieje wiele aplikacji z wieloma wersjami komunikujących się z tą samą bazą danych bez żadnych problemów.
Dla mnie kliknięcie prawym przyciskiem myszy pliku .tt i kliknięcie „Uruchom narzędzie niestandardowe” jest zdecydowanie najszybszym i najłatwiejszym krokiem niż pisanie zajęć, konfigurowanie i tworzenie modelu.