Используя ASP.NET Dynamic Data / LINQ to SQL, как у вас два поля таблицы связаны с одним и тем же внешним ключом? - PullRequest
10 голосов
/ 06 августа 2008

Я использую динамические данные ASP.NET для проекта, и у меня есть таблица с двумя отдельными полями, которые ссылаются на один и тот же внешний ключ в другой таблице.

Эта связь прекрасно работает в SQL Server.

Однако в модели LINQ to SQL в модели динамических данных ASP.NET отражается только связь первого поля. Если я пытаюсь добавить второе отношение вручную, он жалуется, что «не может создать ассоциацию« ForeignTable_BaseTable ». Одно и то же свойство указано несколько раз:« Id ».»

Эта статья MSDN дает такие полезные советы, как:

  • Изучите сообщение и обратите внимание на свойство, указанное в сообщении.
  • Нажмите кнопку ОК, чтобы закрыть окно сообщения.
  • Проверьте свойства ассоциации и удалите повторяющиеся записи.
  • Нажмите ОК.

1 Ответ

4 голосов
/ 06 августа 2008

Решение состоит в том, чтобы удалить и повторно добавить ОБА таблицы в диаграмму LINQ to SQL, а не только в ту, в которую вы добавили второе поле и ключи.

В качестве альтернативы, вы можете создать две ассоциации с помощью интерфейса LINQ to SQL - просто не пытайтесь объединить их в одну ассоциацию.

...