Рисунок 17.9 – Мастер создания моделей
Окно нам предлагает четыре варианта создания модели, из которых нам надо выбрать Пустая модель конструктор в EF.
Нажмем кнопку Готово, и перед нами откроется пустое окно создания модели.
Перетащим на это поле с панели Панель Инструментов в левой части элемент Сущность. Теперь у нас на поле создания модели имеется небольшая схема будущей модели, в которой сейчас по умолчанию указано лишь одно поле - Id. Во-первых, переименуем сущность. По умолчанию она называется
Entity1.
Рисунок 17.10 – Схема модели и панель элементов
Выделим схему и перейдем к окну свойств в правом нижнем углу:
Рисунок 17.11 – Свойства сущности
Здесь изменим значение свойства Имя на User. Это у нас будет имя сущности. И также изменим значение свойства Имя набора сущностей на
Users. Это у нас будет название набора объектов User.
Далее создадим несколько свойств. Сущность у нас будет простая и будет содержать всего два свойства для логина и пароля пользователя. Итак,
выделим схему сущности и нажмем на правую кнопку мыши. В выпадающем списке выберем Добавить новый → Скалярное свойство. После этого будет добавлено новое свойство. Скалярное свойство подразумевают свойства на основе простейших типов int, float, string и т.д. Добавим три свойства –
Login, Password и Role. По умолчанию все добавляемые свойства имеют тип string. Однако мы можем изменить тип в окне свойств.
Таким образом, у нас должна получиться следующая схема сущности:
Рисунок 17.12 – Схема сущности «Пользователь»
Составим соответствующие схемы для остальных трех сущностей:
студента преподавателя и дипломной работы.
Рисунок 17.13 – Схемы сущностей «Преподаватель», «Студент» и «Дипломная работа»
Далее добавим связи между сущностями. Выберем из панели элементов объект «Ассоциация» и выберем в поле две сущности, между которыми будет установлена связь.
Рисунок 14 – Объект «Ассоциация» для установления связей»
Например, установим для начала связь между сущностями User и Student. Изменим ее вид, нажав на линию связи правой кнопкой мыши и выбрав пункт Свойства.
Рисунок 17.15 – Свойства связи
Для связи между сущностями User и Student установим вид связи «ноль-
или-один-к-одному», так как необходимо допустить возможность отсутствия
(равенство NULL) привязанной сущности Student при создании User и
наоборот. Для изменения вида связи необходимо изменить свойство
Кратность элемента на 0 (ноль из Student/ User) в обоих случаях.
После создания связи также будет автоматически сгенерировано навигационное свойство для обоих сущностей, которые будут играть роль внешний ключей в структуре базы данных.
Общий вид модели данных после установления всех связей между сущностями представлен на рисунке 17.117.
Рисунок 17.16 – Общий вид модели данных
Теперь по модели мы можем сгенерировать код и базу данных. Вначале сгенерируем код модели. Для этого нажмем на диаграмму модели правой кнопкой мыши и выберем пункт Добавить элемент создания кода:
Далее нам будет предложено выбрать версию EF. Выберем шестую версию: