Изменения в EDMX-файле, выполненные мастером обновления моделей

Мастер обновления моделей позволяет обновить EDMX-файл после внесения изменений в основную базу данных. Если для обновления EDMX-файла используется мастер обновления моделей, то необходимо учитывать два важных фактора:

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

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

  • Если флажок Формировать имена объектов во множественном или единственном числе установлен (на вкладке Добавить мастера), то мастер попытается выполнить следующие действия:

    • Привести все имена типов сущностей к единственному числу.

    • Привести все имена наборов сущностей ко множественному числу.

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

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

    Мастер моделей EDM применяет правила английского языка для форм единственного и множественного числа, создавая PluralizationService и передавая его в EntityModelSchemaGenerator.

  • Если установлен флажок Включить столбцы внешнего ключа в модель (на вкладке Добавить мастера), то мастер включит свойства во вновь созданные типы сущностей, соответствующие столбцам внешнего ключа в базе данных. Дополнительные сведения см. в разделе Defining and Managing Relationships.

Изменения, внесенные в концептуальную модель при ее обновлении из базы данных

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

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

Таблица или представление

Добавлено

Новый тип сущности, а также соответствующие ассоциации и сопоставления, добавляются в концептуальную модель.

Удалено

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

Переименовано

Переименование таблицы или представления оказывает такое же влияние на концептуальную модель и сопоставления, как удаление таблицы или представления со старым именем и добавление таблицы или представления с новым именем.

Изменился первичный ключ

Если столбцы добавлены в первичный ключ таблицы или представления, то ассоциации будут добавлены в концептуальную модель для любых внешних ключей, которые ссылаются на новый первичный ключ. Соответствующие новые ассоциации будут добавлены к концептуальной модели. Ранее существовавшие ассоциации, основанные на старом первичном ключе (или одном или более элементах данных ранее существовавших ассоциаций), перестанет быть сопоставленной.

Cc716700.note(ru-ru,VS.100).gifПримечание
Несопоставленные ассоциации по-прежнему отображаются в области конструктора, приводя к ошибкам проверки.Чтобы устранить эти ошибки, удалите несопоставленные ассоциации или выполните их повторное сопоставление.

Если столбец удален из первичного ключа, необходимо удалить назначение ключа соответствующего свойства сущности.

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

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

Столбец

Добавлено

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

Удалено

Сопоставления со столбцом удаляются.

Переименовано

Переименование столбца оказывает такое же влияние на концептуальную модель, как удаление столбца со старым именем и добавление столбца с новым именем.

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

Изменено определение

Концептуальная модель и сопоставления не изменяются. Может потребоваться обновить модель вручную, если изменился тип столбца, и поэтому соответствующий тип свойства сущности стал несовместимым. Сведения об изменении свойств см. в разделе Как создавать и изменять скалярные свойства (Средства работы с моделью EDM).

Внешний ключ

Добавлено

Новая ассоциация и обязательные сопоставления добавляются к концептуальной модели, если присутствуют все необходимые типы сущностей.

Удалено

Концептуальная модель и сопоставления не изменяются.

Переименовано

Концептуальная модель и сопоставления не изменяются.

Хранимая процедура

Добавлено

Концептуальная модель и сопоставления не изменяются. Хранимая процедура может быть добавлена к концептуальной модели вручную как Импорт функции. Дополнительные сведения см. в разделе Как импортировать хранимую процедуру (средства работы с моделью EDM).

Удалено

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

Переименовано

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

Изменено определение

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

См. также

Задачи

Как обновить EDMX-файл при изменении базы данных (средства модели EDM)

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

Мастер обновления модели (средства работы с моделью EDM)
Задачи средств модели EDM