根据documentation,EF6在事务中隐式包装ObjectContext.SaveChanges()
。 DbContext.SaveChanges()
上有关交易的文档nothing。
当我尝试使用SQL Server测试DbContext.SaveChanges()
时,我在SQL事件探查器中看到了几个插入,而根本没有任何事务操作。有单一的审计登录"在开始时包含"设置implicit_transactions off"。
我是否错过了一些配置值,或者这种行为是"设计"在代码优先?
答案 0 :(得分:4)
SaveChanges
确实在一次交易中执行。我认为DbContext
上的MSDN文档没有提到这一点,这是一个很大的遗漏。但是,无论如何,它几乎没用。 ADO.Net实体框架博客就是这样的地方。
默认情况下,Sql Server Profiler不记录事务事件。如果要查看在开始新跟踪时必须选择的那些,例如: