Entity Framework - model danych

Entity Data Model (EDM) to rozszerzona wersja modelu Entity-Relationship, która określa koncepcyjny model danych przy użyciu różnych technik modelowania. Odnosi się również do zestawu pojęć opisujących strukturę danych, niezależnie od ich przechowywanej postaci.

EDM obsługuje zestaw pierwotnych typów danych, które definiują właściwości w modelu koncepcyjnym. Musimy wziąć pod uwagę 3 podstawowe części, które stanowią podstawę dla Entity Framework i łącznie są znane jako Entity Data Model. Poniżej przedstawiono trzy podstawowe części EDM.

  • Model schematu pamięci masowej
  • Model koncepcyjny
  • Model mapowania

Model schematu pamięci masowej

Model pamięci masowej nazywany również warstwą definicji schematu pamięci masowej (SSDL) reprezentuje schematyczną reprezentację magazynu danych zaplecza.

Model koncepcyjny

Model koncepcyjny nazywany również warstwą definicji schematu koncepcyjnego (CSDL) to model rzeczywistej jednostki, w oparciu o który piszemy nasze zapytania.

Model mapowania

Warstwa mapowania to po prostu odwzorowanie między modelem koncepcyjnym a modelem magazynu.

Schemat logiczny i jego odwzorowanie na schemat fizyczny jest reprezentowany jako EDM.

  • Program Visual Studio udostępnia również Entity Designer do wizualnego tworzenia EDM i specyfikacji mapowania.

  • Wynikiem narzędzia jest plik XML (* .edmx) określający schemat i mapowanie.

  • Plik EDMX zawiera artefakty metadanych Entity Framework.

Język definicji schematu

ADO.NET Entity Framework używa języka definicji danych opartego na języku XML o nazwie Schema Definition Language (SDL) do definiowania schematu EDM.

  • SDL definiuje proste typy podobne do innych typów pierwotnych, w tym między innymi String, Int32, Double, Decimal i DateTime.

  • Wyliczenie, które definiuje mapę pierwotnych wartości i nazw, jest również uważane za typ prosty.

  • Wyliczenia są obsługiwane tylko od wersji Framework 5.0 i nowszych.

  • Typy złożone są tworzone z agregacji innych typów. Kolekcja właściwości tych typów definiuje typ jednostki.

Model danych obejmuje przede wszystkim trzy kluczowe pojęcia opisujące strukturę danych -

  • Typ encji
  • Typ asocjacji
  • Property

Typ encji

Typ jednostki jest podstawowym elementem opisującym strukturę danych w EDM.

  • W modelu koncepcyjnym typy jednostek są zbudowane z właściwości i opisują strukturę pojęć najwyższego poziomu, takich jak studenci i zapisy w aplikacji biznesowej.

  • Jednostka reprezentuje określony obiekt, taki jak określony uczeń lub rejestracja.

  • Każda jednostka musi mieć unikatowy klucz jednostki w zestawie jednostek. Zestaw jednostek to zbiór wystąpień określonego typu jednostki. Zestawy jednostek (i zestawy skojarzeń) są logicznie pogrupowane w kontenerze jednostek.

  • Dziedziczenie jest obsługiwane w przypadku typów jednostek, co oznacza, że ​​jeden typ jednostki może pochodzić z innego.

Typ skojarzenia

Jest to kolejny fundamentalny element do opisu relacji w EDM. W modelu koncepcyjnym skojarzenie reprezentuje relację między dwoma typami jednostek, takimi jak uczeń i rejestracja.

  • Każde skojarzenie ma dwa końce skojarzenia, które określają typy jednostek zaangażowanych w powiązanie.

  • Każdy koniec powiązania określa również krotność końca asocjacji, która wskazuje liczbę jednostek, które mogą znajdować się na tym końcu powiązania.

  • Wielokrotność końca asocjacji może mieć wartość jeden (1), zero, jeden (0..1) lub wiele (*).

  • Dostęp do jednostek na jednym końcu skojarzenia można uzyskać za pośrednictwem właściwości nawigacji lub kluczy obcych, jeśli są one uwidocznione w typie jednostki.

własność

Typy jednostek zawierają właściwości, które definiują ich strukturę i cechy. Na przykład typ jednostki Student może mieć właściwości, takie jak identyfikator ucznia, nazwisko itp.

Właściwość może zawierać dane pierwotne (na przykład ciąg znaków, liczbę całkowitą lub wartość logiczną) lub dane strukturalne (na przykład typ złożony).