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