Как обновлять модель EDM при изменениях базы данных
В конструкторе моделей EDM ADO.NET (конструктор сущностей) используется мастер обновления моделей для обновления модели EDM в соответствии с изменениями в базе данных. Мастер обновления моделей перезаписывает модель хранения при обновлении модели EDM на основе изменений в базе данных. Мастер обновления моделей вносит также изменения в концептуальную модель и сопоставления, но эти изменения вносятся только при добавлении объектов в базу данных. Например, новые типы сущностей добавляются в модель при добавлении таблиц в базу данных, а новые свойства добавляются к типам сущностей при добавлении столбцов в таблицу. Дополнительные сведения об изменениях, вносимых в модель EDM, см. в разделе Изменения в модели EDM, внесенные мастером обновления моделей.
Мастер обновления моделей выполняет следующие действия.
Если объект удален из базы данных, мастер удаляет объект из модели хранения. Спецификации сопоставления обновляются таким образом, что объекты в концептуальной модели не сопоставляются с элементами хранения, которые более не существуют. Существующие объекты концептуальной модели не удаляются.
Если объект добавлен в базу данных (или не был включен в предыдущую модель), можно добавить объект в модель. Модель хранения обновляется вновь добавленным объектом. В случае таблицы или представления (но не хранимой процедуры) создается соответствующий тип сущности и сопоставляется с объектом.
Если объект обновлен, мастер обновляет определение объекта в модели хранения. Если в таблицу или представление добавлены новые столбцы, то соответствующие типы сущностей обновляются с учетом совпадающих свойств. Если соответствующие типы сущностей являются частью иерархии наследования, то с учетом совпадающих свойств обновляется только затронутая сущность, ближайшая к корневому уровню иерархии. Это исключает возможность определения дочерними сущностями в иерархии таких же свойств, как у их предков.
Обновление модели EDM при изменениях базы данных
В Обозревателе моделей щелкните правой кнопкой мыши EDMX-файл для модели и выберите пункт Обновить модель из базы данных.
Запускается мастер обновления моделей. Если в модели EDM не задано соединение с базой данных, появляется диалоговое окно Выбор подключения к базе данных. В противном случае появляется диалоговое окно Выбор объектов базы данных.
Если появится диалоговое окно Выбор подключения к базе данных, укажите соединение с базой данных для модели. Иначе перейдите к следующему шагу.
Более подробные сведения о задании соединения см. в разделе Диалоговое окно «Выбор подключения к данным». После того как задано соединение, нажмите кнопку Далее, чтобы открыть диалоговое окно Выбор объектов базы данных.
Щелкните вкладку Добавление.
Отображаются узлы для таблиц, представлений и хранимых процедур. Если объекты добавлены в базу данных (или не были включены в предыдущую модель), можно развернуть соответствующий узел, чтобы просмотреть добавленные объекты.
Разверните узлы Таблицы, Представления и Хранимые процедуры, после чего отметьте объекты, которые нужно добавить в модель EDM.
Выберите вкладку Обновление.
Отображаются узлы для таблиц, представлений и хранимых процедур, которые включены в существующую модель хранения. Любые изменения, внесенные в объекты базы данных, будут отражены в обновленной модели хранения. Изменения в концептуальную модель вносятся при добавлении столбцов в таблицу или представление.
Выберите вкладку Удаление.
Отображаются узлы для таблиц, представлений и хранимых процедур. Если объект удален из базы данных и был включен в предыдущую модель, можно развернуть соответствующий узел. Объекты в этих узлах будут удалены из обновленной модели.
Нажмите кнопку Готово, чтобы обновить модель EDM в соответствии с изменениями в базе данных.
![]() |
---|
Концептуальная модель будет обновлена только для объектов, добавленных в базу данных. Все другие изменения концептуальной модели необходимо внести вручную. Дополнительные сведения об обновлении концептуальной модели см. в разделе Задачи средств модели EDM или Задачи Entity Framework. |
См. также
Основные понятия
Изменения в модели EDM, внесенные мастером обновления моделей
Другие ресурсы
Конструктор моделей EDM ADO.NET
Задачи средств модели EDM
Сценарии конструктора моделей EDM ADO.NET