.Net中的嵌套sql事务

时间:2017-04-11 20:49:28

标签: .net design-patterns sqltransaction nested-transactions

我有两种方法可以启动sql事务并提交(或回滚)方法内部的连接。

public void Method1(SqlConnection connection)
{
    var trans = connection.BeginTransaction();
    // do some work
    trans.Commit(); // or trans.Rollback(); 
}

public void Method2(SqlConnection connection)
{
    var trans = connection.BeginTransaction();
    // do some work
    trans.Commit(); // or trans.Rollback(); 
}

我必须创建另一个方法,该方法在单个事务中执行方法1和2的逻辑。

public void Method1And2(SqlConnection connection)
{
    var trans = connection.BeginTransaction();
    // do work of method 1
    // do work of method 2
    trans.Commit(); // or trans.Rollback(); 
}

我没有在Method1And2中复制方法1和2的代码,而是想从Method1And2调用Method1和Method2,但仍保留单个db事务。如果直接调用它们,Method1和Method2也需要它们自己的事务。

在.Net中实现此功能的最佳方法是什么?

感谢。

0 个答案:

没有答案