Как установить отношение «многие ко многим» в конструкторе Entity Framework - PullRequest
6 голосов
/ 25 мая 2011

Я разработчик NHibernate, пытающийся дать Entity Framework шанс в хобби-проекте. Я привык указывать данные отображения в коде, используя Fluent NHibernate. Прошу прощения за убеждение Microsoft в том, что разработчикам нельзя разрешать писать код, я пытаюсь создать свои отображения, используя визуальный конструктор Entity Framework (который вы получите, открыв файл .edmx в Visual Studio).

Я понятия не имею, как установить отношения многие ко многим! Я «обновил модель» из базы данных, но получил два отношения «один ко многим» с новой сущностью, соответствующей соединительной таблице (которая содержит только внешние ключи и собственный первичный ключ).

Пока что все попытки решить эту проблему, нажав на сущности и отношения, потерпели неудачу. Кто-нибудь может дать мне указатель?

Ответы [ 2 ]

11 голосов
/ 25 мая 2011

Ваша таблица соединений должна быть то, что MS называет ' таблицей чистого соединения ' - она ​​должна содержать только два внешних ключа и никаких других столбцов. В вашем случае это означает, что вы должны удалить столбец первичного ключа.

2 голосов
/ 25 мая 2011

Когда вы добавляете связь к модели, вы выбираете каждую из двух таблиц и выбираете «многие» с обеих сторон отношения.Когда он генерирует скрипт базы данных, для вас будет создана таблица соединения только с двумя ключами.

enter image description here

Кстати: если вам не нравится использование Model-first иЯ бы предпочел разработку кода «Code-First» для Entity Framework.Вы также можете сделать Database-First, если вы предпочитаете это.

...