Ассоциация LINQ to SQL — «Свойства не имеют совпадающих типов»

StackOverflow https://stackoverflow.com/questions/45062

Вопрос

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

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

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?

Есть идеи?

Это было полезно?

Решение 2

Понятия не имею о причине, но я только что восстановил свой .dbml с нуля, и все исправилось.Ох, уж эта функция "обновить"...

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top