我有两种方法可以启动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中实现此功能的最佳方法是什么?
感谢。