为什么不是';t AutoDetectChangesEnabled默认设置为false

本文关键字:默认 设置 false AutoDetectChangesEnabled 为什么不 | 更新日期: 2023-09-27 17:59:52

我想知道为什么DbContext上的AutoDetectChangesEnabled属性默认设置为false。

我想大量插入到我的上下文中,正如你可能知道的,将自动检测设置为false会带来更好的性能。

我的意思是,如果我知道何时检测到上下文的更改,有什么理由不将AutoDetectChangesEnabled设置为false吗?

为什么不是';t AutoDetectChangesEnabled默认设置为false

我认为他们很可能希望更常见、更有用的行为开箱即用。

var mycontext = new DemoContext();
var myEntity = myContent.Thinhymybobs.find(akey);
myEntity.PropX = newvalue;
mycontext.saveChnages();

发送到DB的更新是delta感知的,并相应地使用update-set语句。所以这在DB上是友好的。

当对数据库执行"批量"操作时,性能问题通常是一个自然的想法。所以我觉得,想知道是否关闭更改,甚至使用跟踪可能是一个问题。

这篇文章可能会引起你的兴趣。条目的状态。http://msdn.microsoft.com/en-us/data/jj592676.aspx