Jua*_*mez 28 c# linq entity-framework
我有一个Linq查询,用于获取实体及其某些导航属性.
context.MyEntity
.AsNoTracking()
.Include(i=> i.Nav1)
.Include(i=> i.Nav2)
.Where(x=> x.Prop1==1)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
我的问题是:
以上查询是否足以不跟踪MyEntity
导航属性NAv1
和/ Nav2
或我必须AsNoTracking
为每个导航属性添加?
像这样:
context.MyEntity
.AsNoTracking()
.Include(i=> i.Nav1)
.AsNoTracking()
.Include(i=> i.Nav2)
.AsNoTracking()
.Where(x=> x.Prop1==1)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
Dan*_*iel 28
在完成所有查询参数之后但在将数据移动到内存之前使用AsNoTracking.在此示例中,您将需要:
context.MyEntity
.Include(i=> i.Nav1)
.Include(i=> i.Nav2)
.Where(x=> x.Prop1==1)
.AsNoTracking()
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
不会跟踪父实体的任何子对象.