5

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

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

我的意思是,如果我知道何时检测到我的上下文的变化,我有什么理由不应该设置AutoDetectChangesEnabledfalse

4

1 回答 1

4

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

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

发送到数据库的更新是 delta 感知的,并相应地使用更新集语句。所以这对数据库很友好。

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

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

于 2013-02-19T02:56:37.113 回答