我有一个Linq查询,用于获取实体及其某些导航属性。
filepath = '/tmp/' + key
我的问题是:
以上查询是否足以不跟踪context.MyEntity
.AsNoTracking()
.Include(i=> i.Nav1)
.Include(i=> i.Nav2)
.Where(x=> x.Prop1==1)
.FirstOrDefault();
或导航属性MyEntity
& NAv1
或者我必须为每个导航属性添加Nav2
吗?
AsNoTracking
答案 0 :(得分:24)
在完成所有查询参数之后但在将数据移动到内存之前使用AsNoTracking。在此示例中,您需要:
context.MyEntity
.Include(i=> i.Nav1)
.Include(i=> i.Nav2)
.Where(x=> x.Prop1==1)
.AsNoTracking()
.FirstOrDefault();
不会跟踪父实体的任何子对象。