我目前正在编写一个应用程序,需要为我的业务实体进行多次插入,更新和删除.我使用TransactionScope类来保证所有存储过程可以作为单个工作单元提交或回滚.
我的问题是,如果我在.NET类库中使用TransactionScope类,我还需要使用COMMIT TRAN和ROLLBACK TRAN是我的每个存储过程吗?
不,如果您的事务使用TransactionScope,则不需要显式事务 - 但是:重要的是您应该Transaction Binding=Explicit Unbind;
在连接字符串中设置.完整的详细信息在这里,但是否则你最终可以得到回滚的前几个操作,最后几个提交(或者更确切地说,在任何事务之外运行).