Tworzenie modelu

Model platformy EF przechowuje szczegółowe informacje o mapach klas aplikacji i właściwości na tabele i kolumny bazy danych. Istnieją dwa główne sposoby tworzenia modelu platformy EF:

  • Przy Code First:deweloper pisze kod, aby określić model. Program EF generuje modele i mapowania w czasie wykonywania na podstawie klas jednostek i dodatkowej konfiguracji modelu udostępnianej przez dewelopera.

  • Przy użyciu projektanta EF:deweloper rysuje pola i wiersze, aby określić model przy użyciu projektanta EF. Wynikowy model jest przechowywany w formacie XML w pliku z rozszerzeniem EDMX. Obiekty domeny aplikacji są zwykle generowane automatycznie na podstawie modelu koncepcyjnego.

Przepływy pracy ef

Oba te podejścia mogą służyć do kierowania istniejącej bazy danych lub tworzenia nowej bazy danych, co spowoduje utworzenie 4 różnych przepływów pracy. Dowiedz się, która z nich jest najlepsza dla Ciebie:

Chcę tylko napisać kod... Chcę użyć projektanta...
Tworzymy nową bazę danych Użyj Code First, aby zdefiniować model w kodzie, a następnie wygenerować bazę danych. Użyj Model First, aby zdefiniować model przy użyciu pól i wierszy, a następnie wygeneruj bazę danych.
Chcę uzyskać dostęp do istniejącej bazy danych Użyj Code First, aby utworzyć model oparty na kodzie, który jest mapowany na istniejącą bazę danych. Użyj Database First, aby utworzyć model pól i linii, który jest mapowany na istniejącą bazę danych.

Obejrzyj wideo: Jakiego przepływu pracy EF należy użyć?

Ten krótki film wideo wyjaśnia różnice i sposób, w jaki można znaleźć ten, który jest odpowiedni dla Ciebie.

Presented By: Rowan Miller

Który miniatura przepływupracy WMVWhich Workflow ThumbMP4WMV (ZIP)

Jeśli po obejrzeniu filmu nadal nie masz czucie się swobodnie podczas podejmowania decyzji, czy chcesz użyć projektanta EF, czy Code First, dowiedz się obu.

Spojrzenie pod maskę

Niezależnie od tego, czy używasz Code First, czy projektanta EF, model EF zawsze ma kilka składników:

  • Same obiekty domeny lub jednostki aplikacji. Jest to często określane jako warstwa obiektu

  • Model koncepcyjny składający się z typów jednostek i relacji specyficznych dla domeny, opisany przy użyciu Entity Data Model. Ta warstwa jest często nazywana literą "C", w przypadku pojęć .

  • Model magazynu reprezentujący tabele, kolumny i relacje zgodnie z definicją w bazie danych. Ta warstwa jest często określana za pomocą późniejszego ciągu "S" dla magazynu.

  • Mapowanie między modelem koncepcyjnym i schematem bazy danych. To mapowanie jest często określane jako mapowanie "C-S".

Aparat mapowania ef wykorzystuje mapowanie "C-S" do przekształcania operacji na jednostkach — takich jak tworzenie, odczytywanie, aktualizowanie i usuwanie — w równoważne operacje względem tabel w bazie danych.

Mapowanie między modelem koncepcyjnym i obiektami aplikacji jest często określane jako mapowanie "O-C". W porównaniu z mapowaniem "C-S" mapowanie "O-C" jest niejawne i jeden do jednego: jednostki, właściwości i relacje zdefiniowane w modelu koncepcyjnym są wymagane do dopasowania kształtów i typów obiektów .NET. Od EF4 i innych warstw obiektów może składać się z prostych obiektów z właściwościami bez żadnych zależności od EF. Są one zwykle określane jako Plain-Old CLR (POCO), a mapowanie typów i właściwości jest wykonywane na podstawie konwencji dopasowywania nazw. Wcześniej w programie EF 3.5 były określone ograniczenia dla warstwy obiektów, takie jak jednostki, które miały pochodzić z klasy EntityObject i mieć atrybuty EF w celu zaimplementowania mapowania "O-C".