W gąszczu tych nowości można się poczuć zagubionym. W tym artykule postaram się przybliżyć co nowego dzieje się w popularnym ORMie.
Ogromną zaletą EF nad LINQ2SQL jest z pewnością wsparcie dla znakomitej większości baz danych. Listę gotowych providerów można znaleźć pod adresem: http://msdn.microsoft.com/en-us/data/dd363565.aspx.
EF pojawił się w świecie .NET wraz z wersją 3.5 SP1 (VS 2008). Wersja ta była na tyle uboga, iż oferowała jedynie podstawowe możliwości ORM takie jak generowanie schematu klas na podstawie bazy danych oraz podstawowe operacje na encjach.
Wersja 4.0 wyszła wraz z VS 2010. Wersja ta zawierała wiele ulepszeń oraz nowości, z których można wymienić takie jak:
- Model First - na podstawie zaprojektowanych klas w narzędziu graficznym jest generowana baza danych
- POCO - nie ma potrzeby dziedziczenia po klasie EntityObject
- Lazy Loading - pobieranie danych w tle (gdy są potrzebne)
- Code generators - możliwość dostosowania sposobu w jaki są generowane klasy
- możliwość instalacji poprzez konsolę NuGet
- lekki obiekt DbContext
Wersja 4.3 wprowadza wiele nowości:
- inkrementalna rozbudowa schematu bazy danych na podstawie definicji POCO
- usunięcie tabeli EdmMetadata
- uwzględnienie atrybutów na polach typu private oraz protected
- zwiększenie ilości parametrów konfiguracyjnych które można umieścić w pliku App/Web config
- Model First
- Database First
- Code First (new database)
- Code First (exist database)
Wynika z niego iż w przypadku nowej bazy danych prawidłowymi wyborami są:
- Model First - stworzenie modelu w narzędziu graficznym, wygenerowanie bazy na podstawie takiego diagramu
- Code First - zdefiniowanie mapowania w kodzie, wygenerowanie bazy podczas uruchomienia bazy na podstawie stworzonego kodu
- Database First - stworzenie diagramu EDMX przy użyciu inżynierii wstecznej, wygenerowanie klas na podstawie stworzonego schematu
- Code First - definicja klas i mapowania w kodzie (dostępne są też narzędzia usprawniające to zadanie)
Brak komentarzy:
Prześlij komentarz