我有2个实体与导航属性有一对多的关联。延迟加载已禁用。
var det = db.Detail.Include(m=>m.Master);
以上陈述还包括Master的导航属性“Detail”(自我参考)。
对于每个Detail的实例,我都有一个嵌套的Master,它有一个关联的Details ......的嵌套列表。
如何停止此递归? 我不想改变师父的导航属性。
感谢。
答案 0 :(得分:1)
这不是递归。 EF仅加载Detail
个实体,并且因为Include
相关的Master
实体。您在加载的Detail
的导航属性中看到的Master
实体是已作为父项加载的Detail
实体。在将实体加载到上下文中之后,EF会自动将此对象图放在一起。它被称为 relationship fixup ,你无法阻止它。