модель Entity Data

Модель EDM — это набор основных понятий, которые описывают структуру данных независимо от формы хранения. Модель EDM заимствует свойства модели «сущность-связь», описанной Питером Ченом в 1976 г., более того, она строится на модели «сущность-связь» и расширяет возможности ее традиционного использования.

Модель EDM решает проблемы, возникающие из необходимости хранить данные в различных формах. Например, предположим, есть фирма, которая хранит данные в реляционных базах данных, текстовых файлах, файлах XML, электронных таблицах и отчетах. Это является значительным препятствием для моделирования данных, проектирования приложений и доступа к данным. Во время проектирования приложения, ориентированного на работу с данными, сложность заключается в написании эффективного и поддерживаемого кода без ущерба для эффективности доступа к данным, хранения и масштабируемости. Если данные имеют реляционную структуру, доступ к данным, хранение и масштабируемость будут весьма эффективными, однако написание эффективного и поддерживаемого кода становится более сложным. Если данные имеют структуру объекта, компромиссы приобретают обратный характер: написание эффективного и поддерживаемого кода наносит ущерб эффективности доступа к данным, хранения и масштабируемости. Даже если для этих компромиссов будут найдены правильные решения, при перемещении данных из одной формы в другую возникают новые трудности. Модель EDM решает эти трудности путем описания структуры данных на основе сущностей и связей, которые являются независимыми от схем хранения. В результате форма хранения данных уже не имеет отношения к проектированию приложений и разработке. Поскольку сущности и связи описывают структуру данных так, как она используется в приложении (а не ее форму хранения), они могут эволюционировать по мере эволюции приложения.

conceptual model — это специфическое представление структуры данных в виде сущностей и связей, которое обычно определяется на доменном языке DSL, реализующем основные понятия модели EDM. Язык определения концептуальной схемы (CSDL) — это пример такого доменного языка. Сущности и связи, описанные в концептуальной модели, можно представить в виде абстракций объектов и ассоциаций в приложении. Это позволяет разработчикам сфокусировать внимание на концептуальной модели, не думая о схеме хранения, и писать эффективный и поддерживаемый код. Одновременно разработчики схем хранения могут сфокусировать внимание на эффективности доступа к данным, хранения и масштабируемости.

В этом разделе

В подразделах этого раздела описываются основные понятия модели EDM. Любой специфический язык домена (DSL), реализующий модель EDM, должен включать основные понятия, описанные в данном разделе. Обратите внимание, что платформа ADO.NET Entity Framework использует язык CSDL для определения концептуальных моделей. Дополнительные сведения см. в разделе Conceptual Schema (CSDL).

Основные понятия модели EDM

Модель EDM. Пространство имен

Модель EDM. Примитивные типы данных

Модель EDM: наследование

конечная точка ассоциации

кратность конечной точки ассоциации

набор сопоставлений (модель EDM)

конечная точка набора ассоциаций

тип ассоциации

сложный тип

контейнер сущностей

ключ сущности

набор сущностей

тип сущности

facet (аспект)

свойство внешнего ключа

функция заявленной модели

функция определенной модели

свойство навигации

свойство

ограничение ссылочной целостности

См. также

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

ADO.NET Entity Data Model Tools
.edmx File Overview
CSDL Specification