TransactionScope可以解决你的问题。
补充:另一种方法是可以在数据访问层定义一个DbTransaction对象在业务层调用,把步骤1、2、3放在try里,在catch里回滚。注意步骤1、2、3要调用同一个DbTransaction对象。
应该上把步骤1的事务回滚放在步骤2的catch{}里面
如果不需要像数据库那样级别的事务,就写在步骤2的catch中吧
mark
首先你要说清楚具体的3个步骤执行动作,因为不同的动作会有不同意义;而且事务回滚主要是针对执行数据库的那段代码;如果执行有问题就回滚回去,前提是把这段代码catch住它的异常!