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