如何停止导航属性自我引用?

时间:2013-04-20 14:03:45

标签: entity-framework entity-framework-5

我有2个实体与导航属性有一对多的关联。延迟加载已禁用。

 var det = db.Detail.Include(m=>m.Master);

以上陈述还包括Master的导航属性“Detail”(自我参考)。

对于每个Detail的实例,我都有一个嵌套的Master,它有一个关联的Details ......的嵌套列表。

如何停止此递归? 我不想改变师父的导航属性。

感谢。

1 个答案:

答案 0 :(得分:1)

这不是递归。 EF仅加载Detail个实体,并且因为Include相关的Master实体。您在加载的Detail的导航属性中看到的Master实体是已作为父项加载的Detail实体。在将实体加载到上下文中之后,EF会自动将此对象图放在一起。它被称为 relationship fixup ,你无法阻止它。