Проблема Entity Framework и Link Table - PullRequest
       13

Проблема Entity Framework и Link Table

3 голосов
/ 10 февраля 2010

У меня есть база данных, которая состоит из следующего:

** Таблица 1 **

  • Id (PK)
  • Field1

** Таблица 2 **

  • Id (PK)
  • Field2

** Таблица ссылок **

  • Table1Id (FK)
  • Table2Id (FK)

Проблема в том, что я не могу получить доступ к Таблице 2 из Таблицы 1, даже если связь существует в базе данных.

Например, должно быть возможно следующее:

var Results = from c in DataContext.Table1
              where c.Table2.Field2 == "Test"
              select c;

Однако «c.Table2.Field2» по какой-то причине недоступен - все, что я получаю за «c.Table2». является следующим (среди стандартных any <>, где <> et al):

  • RelationshipName
  • RelationshipSet
  • SourceRoleName
  • TargetRoleName

Так что, очевидно, что-то где-то пошло, но я не могу понять, что!

Обе таблицы существуют в Схеме сущностей и имеют между собой действительные отношения.

1 Ответ

2 голосов
/ 10 февраля 2010

Причина, по которой c.Table2.Field2 недоступен, заключается в том, что c.Table2 не имеет свойства с именем Field2. c.Table2 - это список сущностей, имеющих это свойство, а не экземпляр этой сущности. Непонятно, каково ваше намерение здесь, но я думаю вы хотите:

var Results = from c in DataContext.Table1
              where c.Table2.Any(t2 => t2.Field2 == "Test")
              select c;
...