Поделиться через


Компоненты платформы Entity Framework

Для приложения Entity Framework требуется создать концептуальную модель, определяющую сущности и связи; логическую модель, которая представляет базовую реляционную модель; а также сопоставление двух этих моделей. Затем из этой концептуальной модели будет создана программируемая модель объектов.

Следующие функции и компоненты платформы Entity Framework работают совместно для обеспечения сквозной среды программирования.

  • Модель Entity Data Model (EDM) служит центром приложения Entity Framework. Она задает схему проекта, которая используется для построения программируемых классов, используемых кодом приложения. Структуры хранилища для постоянных данных представляются схемой хранения, а спецификация сопоставления соединяет схему проекта со схемой хранения. Концептуальные сущности можно материализовывать в виде объектов или читать в сериализованной форме при помощи модуля чтения данных. При необходимости разработчики могут расширять эти объекты для поддержки изменяющихся потребностей приложений. Дополнительные сведения см. в разделе Модель EDM.

  • Компонент Object Services позволяет программистам работать с классами CLR, созданными из концептуальной модели. Он также обеспечивает инфраструктурную поддержку для приложения Entity Framework, предоставляя такие службы, как управление состоянием, отслеживание изменений, разрешение идентификаторов, загрузка и переход по связям, распространение изменений объектов в модификации базы данных, а также поддержку запросов для Entity SQL. Дополнительные сведения см. в разделе Службы объектов (платформа Entity Framework).

  • Компонент LINQ to Entities обеспечивает поддержку LINQ при запросах к сущностям. Компонент LINQ to Entities позволяет разработчикам писать запросы к базе данных на одном из поддерживаемых языков программирования .NET Framework, например Visual Basic или Visual C#. Дополнительные сведения см. в разделе Технология LINQ to Entities.

  • Язык Entity SQL подобен языку SQL и не зависит от типа хранилища. Он предназначен для создания запросов к сложным графам объектов, основанных на модели EDM, а также для управления ими. Дополнительные сведения см. в разделе Язык Entity SQL.

  • Поставщик EntityClient расширяет модель поставщика ADO.NET путем доступа к данным в терминах сущностей и связей концептуальной модели. Он выполняет запросы, которые используют язык Entity SQL. Entity SQL предоставляет базовый язык запросов, который позволяет поставщику EntityClient связываться с базой данных. Дополнительные сведения см. в разделе Поставщик EntityClient для платформы Entity Framework.

  • Компонент метаданных ADO.NET управляет метаданными для всей платформы Entity Framework как во время разработки, так и во время выполнения. Все метаданные, связанные с моделями и сопоставлениями, доступны через интерфейсы метаданных, которые не зависят от механизма, используемого для хранения метаданных. Текущий механизм хранения использует файлы, которые основаны на трех диалектах XML: языке CSDL, языке SSDL и языке MSL. Дополнительные сведения см. в разделе Метаданные ADO.NET.

  • Приложение Entity Framework включает изменяющийся набор средств, которые создают сопоставления и разделяемые классы, представляющие сущности концептуальной модели. Дополнительные сведения см. в разделе Средства работы с моделью EDM.

  • Приложение Entity Framework включает обновленный поставщик данных SqlClient, который поддерживает канонические деревья команд. Дополнительные сведения см. в разделе Поставщик данных .NET Framework для SQL Server (SqlClient) на платформе Entity Framework.

Архитектурная схема

На следующей схеме показаны связи различных доступных пользователям интерфейсов программирования в приложении Entity Framework. Стрелка вниз обозначает запрос к источнику данных, а стрелка вверх — возвращаемые данные. Службы объектов создают каноническое дерево команд, которое представляет работу LINQ to Entities или Entity SQL с концептуальной моделью. Поставщик EntityClient преобразует это каноническое дерево команд, основанное на модели EDM, в новое каноническое дерево команд, содержащее эквивалентные операции для источника данных.

Диаграмма архитектуры Entity Framework

См. также

Основные понятия

Терминология платформы Entity Framework
Знакомство с платформой Entity Framework

Другие ресурсы

Справочник по функциям (платформа Entity Framework)
Приступая к работе (Entity Framework)