Как эти отношения отображаются на объекты EDM? - PullRequest
1 голос
/ 03 ноября 2011

Я работаю над C # WPF-приложением с бэкэндом MySQL, используя Entity Data Model в VS2010 (.NET 4). У меня есть следующая простая схема тестовой базы данных (пока игнорируйте StudentCourse.Grade):

enter image description here

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

enter image description here

Пока все хорошо. Теперь предположим, что каждый студент получает итоговую оценку за каждый курс, который он / она проходит, и который я сохранил в таблице StudentCourse как Grade. Мои проблемы как-то получить оценку в EDM. Я попытался создать новую сущность StudentCourse, сопоставленную с таблицей StudentCourse, но она настроена только для чтения, поскольку у нее нет идентификатора. Добавление идентификатора в таблицу приводит к скулитию Visual Studio, поскольку поле идентификатора не сопоставлено в ассоциации (чего я совсем не понимаю).

Как такие отношения отображаются в EDM? Я открыт для изменения схемы базы данных, если это необходимо.

Редактировать в ответ на Ucodia: Я не знаю. Что касается пользовательского интерфейса, оценки должны быть легко доступны для студента или для курса. Я открыт для предложений.

Ответы [ 3 ]

0 голосов
/ 03 ноября 2011

Очевидно, ваша главная задача - иметь что-то наподобие той модели, которую вы разработали в дизайнере EDM. Если для вас важна только объектная модель, какой бы ни была база данных, я бы посоветовал вам взглянуть на EF Code First.

Посмотрите на эту статью: EF Code First Walkthrough

0 голосов
/ 07 ноября 2011

Вам нужно добавить оценку в таблицу ссылок и удалить отношение многие ко многим.Затем восстановить модель из базы данных.Вы увидите, что таблица StudentCourse будет отображаться в EDM.Если в таблице ссылок есть дополнительные поля, в модели появится таблица ссылок.

0 голосов
/ 03 ноября 2011

Почему бы вам не просто сохранить Grade в Course сущности?

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