Архитектура Entity Framework, снизу вверх, состоит из следующего:
Поставщики данных
Это поставщики, зависящие от источника, которые абстрагируют интерфейсы ADO.NET для подключения к базе данных при программировании на основе концептуальной схемы.
Он переводит распространенные языки SQL, такие как LINQ, через дерево команд в собственное выражение SQL и выполняет его для конкретной системы СУБД.
Entity Client
Этот уровень выставляет уровень сущности на верхний уровень. Сущностный клиент предоставляет разработчикам возможность работать с сущностями в форме строк и столбцов, используя запросы сущностных SQL, без необходимости создавать классы для представления концептуальной схемы. Entity Client показывает уровни структуры сущности, которые являются основными функциями. Эти слои называются Entity Data Model.
-
Уровень хранения содержит всю схему базы данных в формате XML.
-
Слой сущностей, который также является файлом XML, определяет сущности и отношения.
-
Уровень отображения — это XML-файл, который отображает сущности и отношения, определенные на концептуальном уровне, с фактическими отношениями и таблицами, определенными на логическом уровне.
-
Службы метаданных, которые также представлены в Entity Client, предоставляют централизованный API для доступа к слоям Entity, Mapping и Storage, которые хранятся в метаданных.
Уровень хранения содержит всю схему базы данных в формате XML.
Слой сущностей, который также является файлом XML, определяет сущности и отношения.
Уровень отображения — это XML-файл, который отображает сущности и отношения, определенные на концептуальном уровне, с фактическими отношениями и таблицами, определенными на логическом уровне.
Службы метаданных, которые также представлены в Entity Client, предоставляют централизованный API для доступа к слоям Entity, Mapping и Storage, которые хранятся в метаданных.
Объект Сервис
Слой Object Services — это Object Context, который представляет сеанс взаимодействия между приложениями и источником данных.
Основное использование контекста объекта заключается в выполнении различных операций, таких как добавление, удаление экземпляров объектов и сохранение измененного состояния обратно в базу данных с помощью запросов.
Это уровень ORM Entity Framework, который представляет результат данных для экземпляров объектов.
Эти сервисы позволяют разработчику использовать некоторые богатые функции ORM, такие как сопоставление первичных ключей, отслеживание изменений и т. Д., Путем написания запросов с использованием LINQ и Entity SQL.