Как реализовать многоуровневое «Включить» в Entity Framework 3.5 (VS 2008) - PullRequest
1 голос
/ 13 июня 2011

В моей БД есть две таблицы - Вопрос и Тема.Для реализации отношения «многие ко многим» существует таблица отображения, которая имеет следующую структуру:

Таблица TopicQuestionMapping

  • int ID (первичный ключ)
  • int QuestionID (внешний ключ к таблице вопросов)
  • int TopicID (внешний ключ к таблице тем)

Теперь в моем EF я получил что-то вроде

ViewData.Model = DB.QuestionMaster.Include("TopicQuestionMapping").First(x => x.ID == id);

и затем я пытаюсь выбрать тему вроде

Model.TopicQuestionMapping.First().TopicMaster.Name

(для упрощения я просто рассматриваю первую запись)

Запрос заполняет TopicQuestionMapping (я получаю count = 1).Но TopicMaster является нулевым.Как я могу заставить его работать?

Это что-то вроде Таблицы A, ссылающейся на Таблицу B. Таблица B ссылается на Таблицу C. Мне нужно получить данные из Таблицы C.

1 Ответ

2 голосов
/ 13 июня 2011

Include использует. Для навигации по графу объектов.

Так как .Include("TableA.TableB.TableC")

http://msdn.microsoft.com/en-us/library/bb896272.aspx

...