Общие сведения об EDMX-файле (платформа Entity Framework)

EDMX-файл — это XML файл, определяющий концептуальную модель, режим хранения и их сопоставление. Кроме того, EDMX-файл содержит сведения, используемые конструктором моделей EDM ADO.NET (конструктор сущностей) для подготовки модели к просмотру в графическом режиме. Рекомендуется производить создание EDMX-файла с помощью мастера моделей EDM. Дополнительные сведения см. в разделе Как создать новый EDMX-файл (средства модели EDM).

EDMX-файл изменяется при изменении модели с помощью конструктора сущностей, а также при использовании мастера обновления модели на основании изменений, произведенных в основной базе данных. Дополнительные сведения см. в разделе Мастер обновления модели (средства работы с моделью EDM). Существуют также сценарии, при которых придется изменять EDMX-файл вручную. Дополнительные сведения см. в разделе Изменение EDMX-файла вручную (платформа Entity Framework).

По умолчанию EDMX-файл открывается в конструкторе сущностей. Однако его можно открыть в редакторе XML, выполнив следующие шаги:

  1. Убедитесь, что проект открыт в Visual Studio.

  2. В обозревателе решений щелкните правой кнопкой мыши EDMX-файл и выберите команду Открыть с помощью.

  3. Выберите Редактор XML и нажмите кнопку ОК.

Содержимое EDMX-файла

Ниже представлено высокоуровневое распределение содержимого EDMX-файла. Дополнительные сведения см. в EDMX-схемах в каталоге Visual Studio XML.

Cc982042.note(ru-ru,VS.100).gifПримечание
Схема для приложений, предназначенных для .NET Framework версии 4, определена в файле Microsoft.Data.Entity.Design.Edmx_2.xsd.Схема для приложений, предназначенных для .NET Framework версии 3.5 SP1, определена в файле Microsoft.Data.Entity.Design.Edmx_1.xsd.

Содержимое среды выполнения (edmx:Runtime)

Этот раздел содержит сведения, используемые при создании модели и файлов сопоставления для приложений платформы Entity Framework. Дополнительные сведения см. в свойстве Build Action в разделе свойств EDMX-файла ниже.

Cc982042.note(ru-ru,VS.100).gifПримечание
EDMX-файл автоматически добавляется в приложение, которое содержит ссылку на службы ADO.NET Data Services.В этом случае EDMX-файл содержит узел edmx:DataServices, а не узел edmx:Runtime.Дополнительные сведения см. в разделе ADO.NET Data Services Framework.

  • Содержимое режима хранения (edmx:StorageModels). Этот раздел описывает схему целевой базы данных и написан на языке SSDL. Дополнительные сведения см. в разделах SSDL Specification и EntityContainer Element (SSDL).

  • Содержимое концептуальной модели (edmx:ConceptualModels). Этот раздел определяет типы сущностей, сложные типы, ассоциации, контейнеры сущностей, наборы сущностей и наборы ассоциаций в домене приложения. Данный раздел написан на языке CSDL. Дополнительные сведения см. в разделах CSDL Specification и EntityContainer Element (CSDL).

  • Содержимое сопоставления (edmx:Mappings). Этот раздел описывает процесс сопоставления концептуальной модели и целевой базы данных и написан на языке MSL. Дополнительные сведения см. в разделе MSL Specification.

Содержимое конструктора (edmx:Designer)

Этот раздел содержит сведения, используемые конструктором сущностей для подготовки концептуальной модели к просмотру в графическом режиме, а также для определения некоторых свойств концептуальной модели и времени разработки.

Cc982042.note(ru-ru,VS.100).gifПримечание
EDMX-файл автоматически добавляется в приложение, которое содержит ссылку на службы ADO.NET Data Services.В данном случае, EDMX-файл не содержит узел edmx:Designer, и не может просматриваться с использованием конструктора сущностей.Дополнительные сведения см. в разделе ADO.NET Data Services Framework.

  • Содержимое соединения (edmx:Connection). Этот раздел описывает свойства концептуальной модели, оказывающие влияние на строку соединения. Единственное свойство, которое можно установить в данном разделе — MetadataArtifactProcessing. Дополнительные сведения см. в разделе Connection Strings.

  • Содержимое параметров (edmx:Options). Этот раздел описывает дополнительные свойства концептуальной модели. В настоящий момент здесь может быть задано только свойство ValidateOnBuild.

  • Диаграммы (edmx:Diagrams). Этот раздел содержит сведения, используемые конструктором сущностей для подготовки концептуальной модели к представлению в графическом режиме.

Свойства концептуальной модели

Свойства концептуальной модели определяются в EDMX-файле. В следующем списке приведено описание свойств концептуальной модели, которые отображаются в окне Visual Studio Свойства:

Cc982042.note(ru-ru,VS.100).gifПримечание
Свойства концептуальной модели отличны от свойств самого EDMX-файла.Дополнительные сведения см. ниже и в разделе .edmx File Properties.

  • Connection String
    Строка соединения клиента сущности. Представленная строка соединения взята из файла App.config или Web.Config проекта, и имеет то же имя, что и Контейнер сущностей. Дополнительные сведения см. в разделе Connection Strings.
  • Database Schema Name
    Имя схемы базы данных, сформированное при создании базы данных из концептуальной модели.
  • Entity Container Access
    Управляет классом контекста созданного объекта — Открытый или Внутренний.
  • Entity Container Name
    Имя контейнера сущностей концептуальной модели. Дополнительные сведения см. в разделе EntityContainer Element (CSDL).
  • Metadata Artifact Processing
    Управляет процессом внедрения модели и файлов сопоставления (CSDL, SSDL и MSL) в выходную сборку или копирования в выходной каталог.
  • Namespace
    Пространство имен концептуальной модели. Дополнительные сведения см. в разделе Schema Element (CSDL).
  • Pluralize New Objects
    Управляет приведением новых имен набора сущностей и свойств навигации к множественному числу.
  • Transform Related Text Templates On Save
    Текстовые шаблоны связываются с EDMX-файлом путем вставки имени EDMX-файла в текстовый шаблон. Дополнительные сведения см. в разделе Как настроить создание кода уровня объекта (конструктор моделей EDM). Если свойство Transform Related Text Templates On Save имеет значение True, то все текстовые шаблоны, связанные с EDMX-файлом, обрабатываются при сохранении EDMX-файла. Если свойство имеет значение False, то ни один из связанных текстовых шаблонов не обрабатывается.
  • Validate On Build
    Управляет процессом оценки модели при построении проекта.

Свойства EDMX-файла

Свойства Build Action, Custom Tool и Custom Tool Namespace — это свойства EDMX-файла. Дополнительные сведения о свойствах Copy to Output Directory и File Name EDMX-файла см. в разделе Свойства файла документации по Visual Studio.

Cc982042.note(ru-ru,VS.100).gifПримечание
Свойство файла Copy to Output Directory не используется для указания необходимости копирования модели и файлов сопоставления в выходной каталог.Пользуйтесь вместо этого свойством Metadata Artifact Processing концептуальной модели.

Чтобы просмотреть или изменить свойства EDMX-файла в среде Visual Studio, необходимо выполнить следующие шаги:

  1. Откройте проект, содержащий EDMX-файл, в среде Visual Studio.

  2. В обозревателе решений щелкните правой кнопкой мыши EDMX-файл и выберите Свойства.

    Свойства файла будут отображены в окне Свойства.

Следующий список описывает свойства Build Action, Custom Toolи Custom Tool Namespace EDMX-файла:

  • Build Action
    Если это свойство имеет значение EntityDeploy (значение по умолчанию), то при выполнении построения из EDMX-файла создаются три файла: файл концептуальной модели (CSDL), файл режима хранения (SSDL) и файл сопоставлений (MSL). Эти файлы могут быть либо внедрены в качестве ресурсов, либо скопированы в выходной каталог, в зависимости от значения свойства Metadata Artifact Processing модели. Дополнительные сведения см. в разделе Как изменять свойства концептуальной модели (средства работы с моделью EDM). Дополнительные сведения о других значениях свойства Build Action см. в разделе Свойства файла.
  • Custom Tool
    Если это свойство имеет значение EntityModelCodeGenerator (значение по умолчанию) и Стратегия создания кода установлена в значение По умолчанию, то конструктор сущностей создает файл исходного кода, содержащий классы, сформированные из концептуальной модели, определенной в EDMX-файле. Дополнительные сведения см. в разделе Общие сведения о формировании кода (конструктор моделей EDM).

См. также

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

Общие сведения о формировании кода (конструктор моделей EDM)

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

CSDL Specification