Используя ASP.NET Динамические данные / LINQ to SQL, как у вас получается, что два поля таблицы имеют отношение к одному и тому же внешнему ключу?
-
08-06-2019 - |
Вопрос
Я использую ASP.NET Динамические данные для проекта, и у меня есть таблица с двумя отдельными полями, которые ссылаются на один и тот же внешний ключ в другой таблице.
Эта связь прекрасно работает в SQL Server.
Однако в модели LINQ to SQL в модели динамических данных ASP.NET отражается только связь первого поля.Если я пытаюсь добавить вторую связь вручную, он жалуется, что "Не может создать ассоциацию "ForeignTable_BaseTable".Одно и то же свойство указано более одного раза:"Удостоверение личности"."
Эта статья MSDN дает такие полезные советы, как:
- Изучите сообщение и обратите внимание на свойство, указанное в сообщении.
- Нажмите кнопку ОК, чтобы закрыть окно сообщения.
- Проверьте свойства ассоциации и удалите дублирующиеся записи.
- Нажмите кнопку ОК.
Решение
Решение состоит в том, чтобы удалить и повторно добавить ОБЕ таблицы на диаграмму LINQ to SQL, а не только ту, к которой вы добавили второе поле и ключи.
В качестве альтернативы, похоже, вы можете создать две ассоциации, используя интерфейс LINQ to SQL - только не пытайтесь объединить их в одну ассоциацию.