如何在Entity framework 3.5(VS 2008)中实现多层“包含”

时间:2011-06-13 15:33:22

标签: asp.net-mvc entity-framework entity-relationship

我的数据库有两个表 - 问题和主题。要实现多对多关系,有一个映射表具有以下结构:

Table 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是null。我可以让它运作吗?

类似于表A,参见表B.表B参考表C.我需要从表C中获取数据。

1 个答案:

答案 0 :(得分:2)

Include使用。来导航对象图。

就像.Include("TableA.TableB.TableC")

一样

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