Entity Framework - Architektura
Architektura Entity Framework, od dołu w górę, składa się z następujących elementów -
Dostawcy danych
Są to dostawcy specyficzni dla źródła, którzy wyodrębniają interfejsy ADO.NET do łączenia się z bazą danych podczas programowania w oparciu o schemat koncepcyjny.
Tłumaczy popularne języki SQL, takie jak LINQ, za pośrednictwem drzewa poleceń na natywne wyrażenie SQL i wykonuje je w odniesieniu do określonego systemu DBMS.
Klient podmiotu
Ta warstwa odsłania warstwę encji do warstwy górnej. Klient jednostki zapewnia deweloperom możliwość pracy z jednostkami w postaci wierszy i kolumn przy użyciu zapytań SQL jednostek bez konieczności generowania klas reprezentujących schemat koncepcyjny. Entity Client pokazuje warstwy struktury encji, które są podstawową funkcjonalnością. Warstwy te nazywane są Entity Data Model.
Plik Storage Layer zawiera cały schemat bazy danych w formacie XML.
Plik Entity Layer który jest również plikiem XML, definiuje jednostki i relacje.
Plik Mapping layer to plik XML, który odwzorowuje encje i relacje zdefiniowane w warstwie koncepcyjnej z rzeczywistymi relacjami i tabelami zdefiniowanymi w warstwie logicznej.
Plik Metadata services który jest również reprezentowany w Entity Client, zapewnia scentralizowany interfejs API do uzyskiwania dostępu do przechowywanych metadanych warstw Entity, Mapping i Storage.
Usługa obiektowa
Warstwa usług obiektowych to kontekst obiektu, który reprezentuje sesję interakcji między aplikacjami a źródłem danych.
Głównym zastosowaniem kontekstu obiektu jest wykonywanie różnych operacji, takich jak dodawanie, usuwanie wystąpień jednostek i zapisywanie zmienionego stanu z powrotem w bazie danych za pomocą zapytań.
Jest to warstwa ORM Entity Framework, która reprezentuje wyniki danych dla wystąpień obiektów jednostek.
Te usługi umożliwiają programistom korzystanie z niektórych bogatych funkcji ORM, takich jak mapowanie klucza podstawowego, śledzenie zmian itp., Poprzez pisanie zapytań przy użyciu LINQ i Entity SQL.