簡體   English   中英

為什么DbSet.Local自動執行檢測更改?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM