实体框架中的隐式事务6 DbContext.SaveChanges()

时间:2014-05-13 17:18:32

标签: transactions ef-code-first entity-framework-6

根据documentation,EF6在事务中隐式包装ObjectContext.SaveChanges()DbContext.SaveChanges()上有关交易的文档nothing

当我尝试使用SQL Server测试DbContext.SaveChanges()时,我在SQL事件探查器中看到了几个插入,而根本没有任何事务操作。有单一的审计登录"在开始时包含"设置implicit_transactions off"。

我是否错过了一些配置值,或者这种行为是"设计"在代码优先?

1 个答案:

答案 0 :(得分:4)

SaveChanges确实在一次交易中执行。我认为DbContext上的MSDN文档没有提到这一点,这是一个很大的遗漏。但是,无论如何,它几乎没用。 ADO.Net实体框架博客就是这样的地方。

默认情况下,Sql Server Profiler不记录事务事件。如果要查看在开始新跟踪时必须选择的那些,例如:

enter image description here