[英]Why DbSet.Local performs Detect Changes automatically?
在我的最新問題中,有人指出DbSet.Local自動執行檢測更改。請參閱問題: 為什么在循環中引用DbSet.Local的速度很慢?
在答案注釋中,此鏈接發布於https://msdn.microsoft.com/en-us/data/jj556205.aspx ,其中列出了屬性
默認情況下,當調用以下方法時,實體框架會自動執行“檢測更改”:
- 數據庫設置
- DbSet.Local
- DbSet。刪除
- DbSet.Add
- DbSet。附加
- DbContext.SaveChanges
- DbContext.GetValidationErrors
- DbContext.Entry
- DbChangeTracker.Entries
列表中有兩個屬性,我不確定為什么要檢測到更改是必需的:find和local我猜可能是必需的,因為可能會有更多的DbSet實例,否則更改將不會同步。
發現和本地發現變化的目的是什么?
從評論中發布的鏈接 ,我找到了答案。 如果DbSet.Local或DbSet.Find無法檢測到更改,則不會獲得處於添加狀態(尚未提交給DB)的實體
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.