0

我有两种方法可以启动 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,但仍保留单个数据库事务。如果直接调用 Method1 和 Method2,它们也将需要它们自己的事务。

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

谢谢。

4

0 回答 0