[英]AsNoTracking() and Include
我有一個Linq查詢,用於獲取實體及其某些導航屬性。
context.MyEntity
.AsNoTracking()
.Include(i=> i.Nav1)
.Include(i=> i.Nav2)
.Where(x=> x.Prop1==1)
.FirstOrDefault();
我的問題是:
以上查詢是否足以不跟蹤MyEntity
和導航屬性NAv1
和Nav2
還是必須為每個導航屬性添加AsNoTracking
?
像這樣:
context.MyEntity
.AsNoTracking()
.Include(i=> i.Nav1)
.AsNoTracking()
.Include(i=> i.Nav2)
.AsNoTracking()
.Where(x=> x.Prop1==1)
.FirstOrDefault();
在完成所有查詢參數之后但在將數據移動到內存之前使用AsNoTracking。 在此示例中,您將需要:
context.MyEntity
.Include(i=> i.Nav1)
.Include(i=> i.Nav2)
.Where(x=> x.Prop1==1)
.AsNoTracking()
.FirstOrDefault();
不會跟蹤父實體的任何子對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.