【发布时间】:2016-04-07 13:17:06
【问题描述】:
我不知道这是好事还是坏事以及如何适应它。
亲子关系非常简单明了。没什么大不了的。可以看下面的代码:
父对象:
public class Parent
{
public int Id {get;set;}
public List<Child> Childs {get;set;}
}
子对象
public class Child
{
public int Id {get;set;}
public int ParentId {get;set;}
public Parent Parent {get;set;}
}
代码周围的某个地方(比如控制器的索引方法)
var parent = parentRepository.FindAll(x=> x.Id == 10).ToList();
var childCollection = childRepository.FindAll(x=> x.ParentId == parent.Id).ToList();
当我运行上面的代码时,我期望 parent 对象具有 Childs 属性是 null 和 childCollection 具有 null Parent 属性。但这并没有发生。执行第二行代码后,parent.Childs 填充子对象,并且子对象中的每个Parent 属性都等于parent,这是我不想要的(我应该想要它吗?)。
为什么 entityframework 会这样?我应该注意哪些情况?如果我在不知道这种行为的情况下更改 childCollection 会发生什么?
【问题讨论】:
标签: c# entity-framework entity-framework-6