为什么默认情况下AutoDetectChangesEnabled不设置为false?

时间:2013-02-18 20:59:43

标签: c# entity-framework ado.net

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

我希望批量插入到我的上下文中,因为您可能知道将自动检测设置为false会带来更好的性能。

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

1 个答案:

答案 0 :(得分:4)

我认为他们可能想要更常见和非常有用的行为,开箱即用。

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

发送到数据库的更新是delta识别的,因此使用更新集语句。 所以这对DB很友好。

在对数据库执行“批量”操作时,性能问题通常是一种自然的想法。所以想知道关闭转变或者甚至使用追踪甚至可能是我感觉到的问题。

本文可能对您感兴趣。进入状态。 http://msdn.microsoft.com/en-us/data/jj592676.aspx