Как создавать и изменять сложные типы (средства работы с моделью EDM)

В этом разделе описан процесс создания и изменения сложных типов при помощи конструктора моделей EDM ADO.NET (конструктор сущностей). Сведения об использовании сложных типов см. в разделе Complex Type Objects (Entity Framework).

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

Создание сложного типа

Создать сложный тип можно любым из следующих способов.

Создание сложного типа

  1. В обозревателе решений щелкните правой кнопкой мыши папку «Сложные типы», выберите команду Добавить и нажмите кнопку Сложный тип.

    Новый сложный тип будет добавлен в папку с именем по умолчанию (дополнительные сведения о переименовании см. ниже, в подразделе «Переименование сложного типа»).

  2. Добавьте свойства к сложному типу.

    Дополнительные сведения см. ниже, в подразделе «Добавление свойств к сложному типу».

    ИЛИ

  3. В обозревателе моделей выберите папку «Сложные типы» и нажмите на клавиатуре клавишу INSERT.

    Новый сложный тип будет добавлен в папку с именем по умолчанию.

  4. Добавьте свойства к сложному типу.

    ИЛИ

  5. В области конструктора сущностей выберите одно или несколько свойств сущности (кроме свойств навигации), щелкните их правой кнопкой мыши и выберите Реструктурировать в новый сложный тип.

    Новый сложный тип с выбранными свойствами будет добавлен в обозреватель моделей. Сложному типу присваивается имя по умолчанию.

    Сложное свойство только что созданного типа заменит выбранные свойства. Все сопоставления свойств будут сохранены.

    ИЛИ

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

Переименование сложного типа

При переименовании сложного типа все ссылки на тип обновляются по всему проекту.

Переименовать сложный тип можно любым из следующих способов.

Переименование сложного типа

  • Дважды щелкните сложный тип в обозревателе моделей.

    Имя будет выбрано в режиме редактирования.

    ИЛИ

  • Щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите пункт Переименовать.

    Имя будет выбрано в режиме редактирования.

    ИЛИ

  • Выберите сложный тип в обозревателе моделей и нажмите клавишу F2.

    Имя будет выбрано в режиме редактирования.

    ИЛИ

  • Щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите Свойства. Измените имя в окне Свойства.

Добавление свойств к сложному типу

Свойства сложного типа могут иметь как скалярные, так и существующие сложные типы. Однако свойства сложного типа не могут иметь циклических ссылок. К примеру, сложный тип ContactInfo не может иметь свойство сложного типа ContactInfo.

Добавить свойство к сложному типу можно любым из следующих способов.

Добавление свойства к сложному типу

  • Щелкните правой кнопкой мыши сложный тип в обозревателе моделей, укажите Добавить, затем Скалярное свойство или Сложное свойство, а затем выберите необходимый тип свойства.

    Новое свойство будет добавлено к сложному типу с именем по умолчанию.

    ИЛИ

  • Щелкните правой кнопкой мыши свойство сущности в области конструктора сущностей и выберите команду Копировать, затем щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите Вставить.

    ИЛИ

  • В обозревателе моделей выберите сложный тип и нажмите на клавиатуре клавишу INSERT.

    Новое скалярное свойство будет добавлено к сложному типу с именем по умолчанию.

Удаление сложного типа

При удалении сложного типа он удаляется из концептуальной модели. Кроме того, удаляются сопоставления для всех экземпляров типа. Однако ссылки на тип не обновляются. К примеру, если сущность обладает свойством сложного типа ComplexType1, и ComplexType1 был удален в обозревателе моделей, то соответствующее свойство сущности не обновляется. Модель не пройдет проверку, поскольку содержит сущность, которая ссылается на удаленный сложный тип. Обновить или удалить ссылки на удаленные сложные типы можно с помощью конструктора сущностей.

Удалить сложный тип можно одним из следующих способов.

Удаление сложного типа

  • Щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите Удалить.

    ИЛИ

  • В обозревателе моделей выберите сложный тип и нажмите на клавиатуре клавишу DELETE.

См. также

Задачи

Как добавить свойство сложного типа к сущности (средства работы с моделью EDM)
Как сопоставить свойства сложного типа со столбцами таблицы (средства работы с моделью EDM)
Как сопоставить импорт функции со сложным типом (средства модели EDM)

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

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