Отношения «многие ко многим» в Entity Framework, где таблица соединений имеет более двух полей? - PullRequest
6 голосов
/ 15 февраля 2011

Я импортирую базу данных в Entity Framework, и у меня возникают проблемы с отношением «многие ко многим», которое выглядит следующим образом:

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

Для записи, за этим полем Id в Employee_Employee_Type нет цели, просто плоходизайн.

Ответы [ 2 ]

8 голосов
/ 15 февраля 2011

Согласно рецептам Entity Framework 4, стр. 554. Вот как вы это сделаете (это не красиво).

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

Книга фантастическая, кстати, поэтому я бы порекомендовал ее купить.Надеюсь, что это привлечет меня к автору, если он случится на этом.

enter image description here

enter image description here

2 голосов
/ 15 октября 2011

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

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