【发布时间】:2019-05-15 08:39:56
【问题描述】:
我看过很多关于使用 ef6 事务的帖子,但所有 SaveChanges() 都在同一个块中。
我想要的是使用transaction 并在一个块内调用多个函数,每个函数都有SaveChanges() 但属于主transaction 块。
我已经尝试过如下代码:
using(var transaction = context.Database.BeginTransaction())
{
try
{
doSomething(); //Has SaveChanges() and also sub functions with also SaveChanges()
doSomethingElse(); //Same as before
}
catch (Exception exp)
{
transaction.Rollback();
}
transaction.Commit();
}
transaction.Rollback() 什么都不做。
我假设内部函数有自己的transaction 范围,并不关心这个。那么我怎样才能让它发挥作用呢?
【问题讨论】:
标签: entity-framework transactions entity-framework-6 transactional