C# 回滚嵌套事务

C# 回滚嵌套事务,c#,transactions,C#,Transactions,我试图测试c中嵌套的事务的行为。因此,我创建了两个TransactionScope对象。在outerScope(root)中,我故意插入了重复的PK值,因此它抛出异常,事务回滚。但是,我创建了一个嵌套的TransactionScope,将TransactionScope选项设置为RequiresNew,这意味着它将单独执行,并且回滚外部范围不会对内部范围产生影响。但它不会提交innerScope中的事务代码,因为它不会到达下一行代码并中断 所以我要问大家的问题是,我如何测试嵌套事务行为?请建议,

我试图测试
c
中嵌套的
事务的行为。因此,我创建了两个
TransactionScope
对象。在
outerScope
(root)中,我故意插入了重复的
PK
值,因此它抛出异常,事务
回滚。但是,我创建了一个嵌套的
TransactionScope
,将
TransactionScope选项设置为
RequiresNew
,这意味着它将单独执行,并且回滚外部范围不会对
内部范围产生影响。但它不会提交
innerScope
中的事务代码,因为它不会到达下一行代码并中断

所以我要问大家的问题是,我如何测试嵌套事务行为?请建议,因为我必须给出这个概念的演示,我完全无助于如何通过代码示例来解释这一点

代码如下:

    try
    {
       using (var outerScope = new TransactionScope(TransactionScopeOption.Required, option))
       {
          using (conn)
          {
             conn.Open();
             method1();
             using (var innerScope = new TransactionScope(TransactionScopeOption.RequiresNew, option))
             {
               method2();
               innerScope.Complete();
             }

          }
          outerScope.Complete();
      }
    }
    catch (TransactionAbortedException tex)
    {
       Console.WriteLine(tex.Message);
    }