Как получить сопоставление сущности с таблицей для отношений многие ко многим из метамодели в Enity Framework - PullRequest
7 голосов
/ 06 мая 2011

Есть ли какой-нибудь способ, которым мы можем получить базовую таблицу «многие ко многим», объединяющую две сущности в структуре сущностей.

Например, если у нас есть сущности Product и Order, как мы можем получить базовую соединительную таблицу Product_Order, которая присоединяется к таблице Product и Order.

Любая помощь будет оценена.

1 Ответ

9 голосов
/ 07 мая 2011

Можно представить таблицу соединений как объект, но это не является общим / необходимым:

  • Вы начнете с этого:

enter image description here

  • Удалите отношение многие ко многим между вашими Product и Order сущностями
  • Создайте новую сущность ProductOrder в конструкторе (используя панель инструментов или контекстное меню)
  • Определите два свойства в вашей новой сущности, соответствующие внешним ключам, определенным в вашей соединительной таблице - ProductId, OrderId - убедитесь, что оба помечены как ключ сущности (они должны быть составным первичным ключом в базе данных) и имеюттот же тип, что и для PK
  • Откройте данные сопоставления и сопоставьте новую сущность с соединительной таблицей

enter image description here

  • Создайте два новых однозначныхмного ассоциаций.Фрист между Product и ProductOrder и вторым между Order и ProductOrder.
  • В окне свойств каждого добавленного отношения задайте ссылочные ограничения (, как описано также здесь) .

enter image description here

Очень велика вероятность того, что если вам это нужно, вы делаете что-то не так.

...