Главная страница

Новые Лпр-ки. Веб ЛПР новые (1). Лабораторная работа Разработка базовой основы Web приложения 5 Упражнение Создание Web приложения 5


Скачать 1.04 Mb.
НазваниеЛабораторная работа Разработка базовой основы Web приложения 5 Упражнение Создание Web приложения 5
АнкорНовые Лпр-ки
Дата19.03.2022
Размер1.04 Mb.
Формат файлаdocx
Имя файлаВеб ЛПР новые (1).docx
ТипЛабораторная работа
#403967
страница4 из 27
1   2   3   4   5   6   7   8   9   ...   27

Упражнение 3. Работа с моделью данных


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

Изучение модели данных Entity Framework


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

  1. Изучите следующие типы ассоциации:

  • one-to-zero-or-one ассоциация представляется как "1" и "0..1" (см. рисунок 1.3.1):



Рисунок1.3.1Ассоциацияone-to-zero-or-one

В этом случае сущность Person может, как ассоциироваться с сущностью OfficeAssignment, так и не ассоциироваться. А вот сущность OfficeAssignment должна иметь отношение с сущностью Person. Другими словами, инструктор может быть назначен на должность, но это необязательно, а вот в офис может быть назначен только один инструктор.

  • one-to-manyассоциация представлена на рисунке 1.3.2 как "1" и "*":



Рисунок1.3.2Ассоциацияone-to-many

В этом случае сущность Person может иметь ассоциативную связь с сущностью StudentGrade, а в свою очередь, сущность StudentGrade должна быть связана только с одним экземпляром сущности Person. Сущность StudentGrade представляет обучающие курсы, и если студент поступил на обучение, но для него нет обучающего курса, то свойство Grade примет значение null. Каждый конкретный обучающий курс относится только к одному студенту.

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

  • many-to-manyассоциация представляется как "*" и "*" (см. рисунок 1.3.3).



Рисунок1.3.3Ассоциацияmany-to-many

В этом случае Person может быть связан с сущностью Course, и обратное также верно: сущность Course может быть связана с сущностью Person.

Другими словами, преподаватель может вести несколько курсов, и курс

может преподаваться несколькими преподавателями. В этой базе данных, эти отношения распространяются только на преподавателей и не связывают студентов с курсами. Студенты связаны с курсами таблицей StudentGrades.

  1. Обратите внимание на второе отличие между схемой базы данных и моделью данных: дополнительный раздел Свойства навигации(Navigation Properties) для каждого объекта.

Свойство навигации содержит ссылки на связанные сущности. Например, свойство Courses в сущности Person содержит коллекцию всех курсов, которые связанны с этим человеком (см. рисунок 1.3.4).



Рисунок1.3.4Использованиесвойствнавигации

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

Навигационные свойства позволяют получить связанные объекты Course и Person, так что нет никакой необходимости представлять таблицу ассоциации в модели данных (см. рисунок 1.3.5).



Рисунок1.3.5Использованиетаблицыассоциации
1   2   3   4   5   6   7   8   9   ...   27


написать администратору сайта