LINQ to SQL Association - «Свойства не имеют совпадающих типов» - PullRequest
1 голос
/ 05 сентября 2008

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

В любом случае:

Table1
- Id (Primary)
- FK-Table2a (Nullable, foreign key relationship in DB to Table2.Id)
- FK-Table2b (Nullable, foreign key relationship in DB to Table2.Id)

Table2
- Id (Primary)

Ассоциация работает для FK-Table2a, но не для FK-Table2b. Фактически, когда я загружаюсь в LINQ to SQL, он показывает Table2.Id как связанный с Table1.Id. Если я попытаюсь изменить это или добавить новую ассоциацию для FK-Table2b в Table2.Id говорит: «Свойства не имеют совпадающих типов».

Это также работает в других проектах - может быть, я должен просто скопировать .dbml?

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 23 декабря 2009

Я вижу эту проблему, когда пытаюсь создать отношения один-к-одному, когда одна сторона отношения обнуляется (так что на самом деле, один-к-нулю). Похоже, что LINQ-to-SQL не поддерживает это, поэтому мы вынуждены использовать множественное отношение и коллекцию, которая будет содержать ноль или один элемент. Раздражает.

2 голосов
/ 05 сентября 2008

Понятия не имею, но я просто восстановил .dbml с нуля, и он сам себя исправил. О, для "обновления" функции ...

1 голос
/ 16 октября 2009

У меня была такая же проблема. Эта ошибка возникала, когда я пытался связать различные типы полей или пытался перетащить таблицу в пространство .dbml, но .dbml уже содержал связанные таблицы с различными типами связанных полей.

...