Как создавать и изменять сложные типы (средства работы с моделью EDM)
В этом разделе описан процесс создания и изменения сложных типов при помощи конструктора моделей EDM ADO.NET (конструктор сущностей). Сведения об использовании сложных типов см. в разделе Complex Type Objects (Entity Framework).
Создание и изменение сложных типов производится в окне Обозреватель модели конструктора сущностей. Следующая процедура предполагает наличие EDMX-файла, открытого в конструкторе сущностей. Кроме того, окно обозревателя моделей должно быть видимым.
Создание сложного типа
Создать сложный тип можно любым из следующих способов.
Создание сложного типа
В обозревателе решений щелкните правой кнопкой мыши папку «Сложные типы», выберите команду Добавить и нажмите кнопку Сложный тип.
Новый сложный тип будет добавлен в папку с именем по умолчанию (дополнительные сведения о переименовании см. ниже, в подразделе «Переименование сложного типа»).
Добавьте свойства к сложному типу.
Дополнительные сведения см. ниже, в подразделе «Добавление свойств к сложному типу».
ИЛИ
В обозревателе моделей выберите папку «Сложные типы» и нажмите на клавиатуре клавишу INSERT.
Новый сложный тип будет добавлен в папку с именем по умолчанию.
Добавьте свойства к сложному типу.
ИЛИ
В области конструктора сущностей выберите одно или несколько свойств сущности (кроме свойств навигации), щелкните их правой кнопкой мыши и выберите Реструктурировать в новый сложный тип.
Новый сложный тип с выбранными свойствами будет добавлен в обозреватель моделей. Сложному типу присваивается имя по умолчанию.
Сложное свойство только что созданного типа заменит выбранные свойства. Все сопоставления свойств будут сохранены.
ИЛИ
Добавьте импорт функции в концептуальную модель и нажмите кнопку Создать новый сложный тип в диалоговом окне Импорт функции. Дополнительные сведения см. в разделе Как импортировать хранимую процедуру (средства работы с моделью EDM).
Переименование сложного типа
При переименовании сложного типа все ссылки на тип обновляются по всему проекту.
Переименовать сложный тип можно любым из следующих способов.
Переименование сложного типа
Дважды щелкните сложный тип в обозревателе моделей.
Имя будет выбрано в режиме редактирования.
ИЛИ
Щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите пункт Переименовать.
Имя будет выбрано в режиме редактирования.
ИЛИ
Выберите сложный тип в обозревателе моделей и нажмите клавишу F2.
Имя будет выбрано в режиме редактирования.
ИЛИ
Щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите Свойства. Измените имя в окне Свойства.
Добавление свойств к сложному типу
Свойства сложного типа могут иметь как скалярные, так и существующие сложные типы. Однако свойства сложного типа не могут иметь циклических ссылок. К примеру, сложный тип ContactInfo не может иметь свойство сложного типа ContactInfo.
Добавить свойство к сложному типу можно любым из следующих способов.
Добавление свойства к сложному типу
Щелкните правой кнопкой мыши сложный тип в обозревателе моделей, укажите Добавить, затем Скалярное свойство или Сложное свойство, а затем выберите необходимый тип свойства.
Новое свойство будет добавлено к сложному типу с именем по умолчанию.
ИЛИ
Щелкните правой кнопкой мыши свойство сущности в области конструктора сущностей и выберите команду Копировать, затем щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите Вставить.
ИЛИ
В обозревателе моделей выберите сложный тип и нажмите на клавиатуре клавишу INSERT.
Новое скалярное свойство будет добавлено к сложному типу с именем по умолчанию.
Удаление сложного типа
При удалении сложного типа он удаляется из концептуальной модели. Кроме того, удаляются сопоставления для всех экземпляров типа. Однако ссылки на тип не обновляются. К примеру, если сущность обладает свойством сложного типа ComplexType1, и ComplexType1 был удален в обозревателе моделей, то соответствующее свойство сущности не обновляется. Модель не пройдет проверку, поскольку содержит сущность, которая ссылается на удаленный сложный тип. Обновить или удалить ссылки на удаленные сложные типы можно с помощью конструктора сущностей.
Удалить сложный тип можно одним из следующих способов.
Удаление сложного типа
Щелкните правой кнопкой мыши сложный тип в обозревателе моделей и выберите Удалить.
ИЛИ
В обозревателе моделей выберите сложный тип и нажмите на клавиатуре клавишу DELETE.
См. также
Задачи
Как добавить свойство сложного типа к сущности (средства работы с моделью EDM)
Как сопоставить свойства сложного типа со столбцами таблицы (средства работы с моделью EDM)
Как сопоставить импорт функции со сложным типом (средства модели EDM)
Другие ресурсы
Задачи моделирования при помощи средств работы с моделью EDM