Составной ключ Entity Framework (отношение "многие ко многим" с полезной нагрузкой)
У меня есть таблицы базы данных, как это:
Человек может быть членом многих команд. Команда может иметь много членов. Каждый человек может иметь должность (думаю, должность) в команде.
Я попытался настроить это с ADO.NET Entity Framework и получить ошибки:
Ошибка 3021: проблема в сопоставлении фрагментов, начинающихся со строки... Каждый из следующих столбцов в таблице Членство сопоставлен с несколькими концептуальными свойствами стороны: Membership.PersonId сопоставлен с
а также
ошибка 3021: проблема в сопоставлении фрагментов, начинающихся со строки... Каждый из следующих столбцов в таблице Членство сопоставлен с несколькими концептуальными свойствами стороны: Membership.TeamID сопоставлен с
Первичный ключ моей сущности Членства - это составной ключ из двух внешних ключей. Я думаю, что это проблема.
Что я должен сделать по-другому?
1 ответ
Это происходит, если вы используете независимую ассоциацию для свойства, которое является одновременно частью первичного ключа и внешнего ключа. В EFv4 введено сопоставление внешних ключей ( здесь описано различие), и как только вы представите внешний объект в сущности, вы должны определить привязку внешнего ключа. После определения референтных ограничений удалите отображение независимой ассоциации в окне Сведения о отображении.