我想知道为什么 DbContext 上的 AutoDetectChangesEnabled
属性默认设置为 false。
我想批量插入到我的上下文中,您可能知道将自动检测设置为 false 会带来更好的性能。
我的意思是,如果我知道何时检测上下文的变化,是否有任何理由不应该将 AutoDetectChangesEnabled
设置为 false
?
最佳答案
我认为他们可能希望开箱即用的更常见且非常有用的行为。
var mycontext = new DemoContext();
var myEntity = myContent.Thinhymybobs.find(akey);
myEntity.PropX = newvalue;
mycontext.saveChnages();
发送到数据库的更新是增量感知的,相应地使用更新集语句。 所以这对数据库很友好。
在数据库上进行“批量”操作时,性能问题通常是自然而然的想法。所以想知道关闭更改或者甚至使用跟踪是我觉得一个可能的问题。
这篇文章可能会让您感兴趣。条目的状态。 http://msdn.microsoft.com/en-us/data/jj592676.aspx
关于c# - 为什么默认情况下 AutoDetectChangesEnabled 不设置为 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14945176/