Как настроить создание кода уровня объекта (конструктор моделей EDM)

В этом разделе описано использование Конструктор моделей EDM ADO.NET (конструктор сущностей) и текстовых шаблонов для настройки формирования контекста объекта и классов сущности (код уровня объекта).

По умолчанию конструктор сущностей использует настраиваемое средство EntityModelCodeGenerator для создания кода уровня объектов (дополнительные сведения см. в разделе Общие сведения о формировании кода (конструктор моделей EDM)). При добавлении текстового шаблона к проекту конструктор сущностей может использовать шаблон для создания кода уровня объекта вместо настраиваемого средства по умолчанию.

Dd456821.note(ru-ru,VS.100).gifПримечание
Можно использовать средства командной строки для создания кода уровня объекта на основе текстового шаблона.Дополнительные сведения см. в разделе Средства командной строки для текстовых шаблонов.

Visual Studio предоставляет два шаблона ADO.NET, которые создают код уровня объекта платформы Entity Framework: Генератор ADO.NET EntityObject и Генератор сущностей с самостоятельным отслеживанием ADO.NET. Генератор ADO.NET EntityObject создает такой же код, что и пользовательское средство EntityModelCodeGenerator. Шаблон Генератор сущностей с самостоятельным отслеживанием ADO.NET формирует классы сущностей, содержащие логику состояния с самостоятельным отслеживанием. При работе с многоуровневыми приложениями можно использовать самоотслеживающиеся сущности. Дополнительные сведения о шаблонах ADO.NET см. в разделах Шаблон генератора ADO.NET EntityObject и Шаблон генератора сущностей с самостоятельным отслеживанием ADO.NET.

Нижеописанная процедура предполагает следующие моменты:

  • Наличие проекта Visual Basic или C#, предназначенного для .NET Framework 4, открытого в Visual Studio 2010.

  • Наличие EDMX-файла, открытого в конструкторе сущностей.

  • Знание процесса настройки текстовых шаблонов. Дополнительные сведения о текстовых шаблонах см. в разделе Создание артефактов.

Настройка создания кода уровня объекта

  1. Щелкните правой кнопкой мыши пустой участок области конструктора сущностей, выберите Добавить элемент формирования кода и выберите доступный шаблон. Если нет доступных шаблонов, выберите Код в области Установленные шаблоны.

    Элемент создания кода добавляет в проект один или несколько файлов текстового шаблона (TT-файлов). Текстовые шаблоны создают код уровня объекта. Создаваемые файлы добавляются в качестве TT-файлов. Если не изменять данный шаблон, то сформированный код будет аналогичен коду, созданному конструктором сущностей.

    При добавлении текстового шаблона в проект Visual Studio выполняет следующие действия:

    • Устанавливает для свойства Стратегия формирования кода концептуальной модели в значение Нет. Это отключает создание кода по умолчанию.

    • Добавляет новый текстовый шаблон в проект в тот же каталог, где находится EDMX-файл.

    • Вставляет путь EDMX-файла относительно текстового шаблона в текстовый шаблон. Это необходимо для того, чтобы текстовый шаблон правильно обрабатывал EDMX-файл.

    • Использует текстовый шаблон для формирования кода на основе EDMX-файле. Сформированный код записывается в файл <text_template_name>.cs или <text_template_name>.vb. Этот файл добавляется в качестве зависимого файла к файлу шаблона в окне Обозреватель решений.

  2. Открывает текстовый шаблон и изменяет его.

  3. Сохраняет измененный файл текстового шаблона.

    При сохранении файла текстового шаблона код уровня объекта создается повторно в соответствии с измененным файлом текстового шаблона.

По умолчанию создание кода уровня объекта для EDMX-файла выполняется при каждом сохранении EDMX-файла. Изменения, вносимые в файлы кода <text_template_name>.cs или <text_template_name>.vb, не сохраняются. Если EDMX-файл имеет более одного связанного с ним файла текстового шаблона, то все связанные файлы кода создаются повторно при сохранении EDMX-файла. Хотя это можно изменить. Если установить свойство Преобразовывать связанные текстовые шаблоны при сохранении концептуальной модели в значение false, то файлы кода не будут создаваться повторно при сохранении файла.

При разбиении модели и TT-файлов на разные проекты необходимо вручную запустить создание кода при изменении EDMX-файла или TT-файла. Это можно сделать, нажав кнопку Преобразовать все шаблоны в обозревателе решений. В разделе Walkthrough: Serialize Self-Tracking Entities рассматривается разделение модели и TT-файлов на разные проекты.

См. также

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

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

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

Средства модели ADO.NET EDM