Новые Лпр-ки. Веб ЛПР новые (1). Лабораторная работа Разработка базовой основы Web приложения 5 Упражнение Создание Web приложения 5
Скачать 1.04 Mb.
|
Упражнение 3. Работа с моделью данныхВ этом упражнении вы подробно изучите построенную модель, внесете в нее изменения и познакомитесь с различными способами просмотра модели. Изучение модели данных Entity FrameworkОбратите внимание, что диаграмма сущностей очень похожа на схему базы данных, первое отличие состоит в добавлении символов в конце каждой ассоциации, которые указывают тип ассоциации. Изучите следующие типы ассоциации: 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. Обратите внимание на второе отличие между схемой базы данных и моделью данных: дополнительный раздел Свойства навигации(Navigation Properties) для каждого объекта. Свойство навигации содержит ссылки на связанные сущности. Например, свойство Courses в сущности Person содержит коллекцию всех курсов, которые связанны с этим человеком (см. рисунок 1.3.4). Рисунок1.3.4Использованиесвойствнавигации Еще одно отличие между базой данных и моделью данных является отсутствие таблицы ассоциации CourseInstructor, которая используется в базе данных, чтобы связать таблицы Person и Course между которыми отношение многие-ко-многим. Навигационные свойства позволяют получить связанные объекты Course и Person, так что нет никакой необходимости представлять таблицу ассоциации в модели данных (см. рисунок 1.3.5). Рисунок1.3.5Использованиетаблицыассоциации |