繁体   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