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


Как обновлять модель EDM при изменениях базы данных

В конструкторе моделей EDM ADO.NET (конструктор сущностей) используется мастер обновления моделей для обновления модели EDM в соответствии с изменениями в базе данных. Мастер обновления моделей перезаписывает модель хранения при обновлении модели EDM на основе изменений в базе данных. Мастер обновления моделей вносит также изменения в концептуальную модель и сопоставления, но эти изменения вносятся только при добавлении объектов в базу данных. Например, новые типы сущностей добавляются в модель при добавлении таблиц в базу данных, а новые свойства добавляются к типам сущностей при добавлении столбцов в таблицу. Дополнительные сведения об изменениях, вносимых в модель EDM, см. в разделе Изменения в модели EDM, внесенные мастером обновления моделей.

Мастер обновления моделей выполняет следующие действия.

  • Если объект удален из базы данных, мастер удаляет объект из модели хранения. Спецификации сопоставления обновляются таким образом, что объекты в концептуальной модели не сопоставляются с элементами хранения, которые более не существуют. Существующие объекты концептуальной модели не удаляются.

  • Если объект добавлен в базу данных (или не был включен в предыдущую модель), можно добавить объект в модель. Модель хранения обновляется вновь добавленным объектом. В случае таблицы или представления (но не хранимой процедуры) создается соответствующий тип сущности и сопоставляется с объектом.

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

Обновление модели EDM при изменениях базы данных

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

    Запускается мастер обновления моделей. Если в модели EDM не задано соединение с базой данных, появляется диалоговое окно Выбор подключения к базе данных. В противном случае появляется диалоговое окно Выбор объектов базы данных.

  2. Если появится диалоговое окно Выбор подключения к базе данных, укажите соединение с базой данных для модели. Иначе перейдите к следующему шагу.

    Более подробные сведения о задании соединения см. в разделе Диалоговое окно «Выбор подключения к данным». После того как задано соединение, нажмите кнопку Далее, чтобы открыть диалоговое окно Выбор объектов базы данных.

  3. Щелкните вкладку Добавление.

    Отображаются узлы для таблиц, представлений и хранимых процедур. Если объекты добавлены в базу данных (или не были включены в предыдущую модель), можно развернуть соответствующий узел, чтобы просмотреть добавленные объекты.

  4. Разверните узлы Таблицы, Представления и Хранимые процедуры, после чего отметьте объекты, которые нужно добавить в модель EDM.

  5. Выберите вкладку Обновление.

    Отображаются узлы для таблиц, представлений и хранимых процедур, которые включены в существующую модель хранения. Любые изменения, внесенные в объекты базы данных, будут отражены в обновленной модели хранения. Изменения в концептуальную модель вносятся при добавлении столбцов в таблицу или представление.

  6. Выберите вкладку Удаление.

    Отображаются узлы для таблиц, представлений и хранимых процедур. Если объект удален из базы данных и был включен в предыдущую модель, можно развернуть соответствующий узел. Объекты в этих узлах будут удалены из обновленной модели.

  7. Нажмите кнопку Готово, чтобы обновить модель EDM в соответствии с изменениями в базе данных.

NoteПримечание.

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

См. также

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

Изменения в модели EDM, внесенные мастером обновления моделей

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

Конструктор моделей EDM ADO.NET
Задачи средств модели EDM
Сценарии конструктора моделей EDM ADO.NET