Составной ключ Entity Framework (отношение «многие ко многим» с полезной нагрузкой) - PullRequest
0 голосов
/ 03 мая 2011

У меня есть таблицы базы данных, подобные этой:

diagram of three database tables: Person, Membership, and Team

Человек может быть членом многих команд.Команда может иметь много членов.У каждого человека может быть должность (думаю, должность) в команде.

Я пытался настроить это с помощью ADO.NET Entity Framework и получать ошибки:

Ошибка 3021: Проблема в отображении фрагментов, начинающихся со строки ... Каждый из следующих столбцов в таблице Членство сопоставлен с несколькими концептуальными свойствами стороны: Membership.PersonId сопоставлен с

и

ошибка 3021: проблема при отображении фрагментов, начинающихся со строки ... Каждый из следующих столбцов в таблице Членство сопоставляется нескольким концептуальным сторонним свойствам: Членство.TeamID сопоставлен с

Первичный ключ моего Членства является составным ключом двух внешних ключей.Я думаю, что это проблема.

Что я должен делать по-другому?

1 Ответ

1 голос
/ 03 мая 2011

Это происходит, если вы используете независимую ассоциацию для свойства, которое является одновременно частью первичного ключа и внешнего ключа.В EFv4 введены ассоциации внешних ключей ( разница описана здесь ), и как только вы выставите внешний ключ в сущности , вы должны определить ассоциацию внешнего ключа .После определения ссылочных ограничений удалите отображение независимой ассоциации в окне Сведения о сопоставлении.

...