如何实现多层“包含”在实体框架 3.5(VS 2008)中

发布于 2024-11-15 02:50:57 字数 574 浏览 4 评论 0原文

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

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(我得到的计数 = 1)。但 TopicMaster 为空。我可以让它工作吗?

就像表A引用表B。表B引用表C。我需要从表C获取数据。

My DB have two tables - Question and Topic. To implement many-to-many relation, there is a mapping table which has following structure:

Table TopicQuestionMapping

  • int ID (Primary Key)
  • int QuestionID (Foreign key to Question table)
  • int TopicID (Foreign key to Topic table)

Now, in my EF I got something like

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

and then I try to fetch topic like

Model.TopicQuestionMapping.First().TopicMaster.Name

(for simplification, I am just considering the first record)

The query populates the TopicQuestionMapping (I am getting count = 1). But the TopicMaster is null. Howe can I get it work?

It is something like Table A refer to Table B. Table B refer to Table C. I need to get data from Table C.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我ぃ本無心為│何有愛 2024-11-22 02:50:57

Include 使用 .'s 来导航对象图。

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

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

Include uses .'s to navigate the object graph.

So like .Include("TableA.TableB.TableC")

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文