我一直在阅读有关TransactionScope的内容,并对其与ADO.Net交易的互操作性提出了疑问。现在我们有一些数据访问方法,每个方法都调用一个存储过程,并开始并提交自己的各个事务。 Straighforward,样板材料,方法如下:
sqlCommand = //create SQLCommand with Stored proc
SqlTransaction myTransaction = myConnection.BeginTransaction();
sqlCommand.Transaction = sqlTransaction;
sqlCommand.Execute();
sqlTransaction.Commit();
我简化了一些事情,但你明白了。
我现在需要连续调用其中两个类方法,并从业务层以团队形式提交或回滚它们。我无法修改数据方法,因此我考虑将两个调用放在TransactionScope块中。
如果我这样做,在创建TransactionScope时我应该使用哪种参数?我已经使用TransactionScopeOption.RequiresNew选项尝试了这个,但事情似乎有效,但那只是我的实验,我不确定它是否可行。 (我在这里要注意,这些是SQL事务,在同一个SQL服务器上运行。)
我看到TransactionScope有构造函数选项来处理COM +事务。因为我正在使用ADO.Net交易,这是否相关?谢谢你的建议。