C# SqlConnection和嵌套事务

C# SqlConnection和嵌套事务,c#,sql-server,ado.net,sql-server-2012,.net-4.5,C#,Sql Server,Ado.net,Sql Server 2012,.net 4.5,(仍然)无法通过ADO.NET/SQL Server 2012创建嵌套事务,对吗?这个 using (var sqlConnection = new SqlConnection(connStr)) { sqlConnection.Open(); var tranOuter = sqlConnection.BeginTransaction("outer"); DoStuff(); var tranInner = sqlConnection.BeginTra

(仍然)无法通过ADO.NET/SQL Server 2012创建嵌套事务,对吗?这个

using (var sqlConnection = new SqlConnection(connStr))
{
    sqlConnection.Open();
    var tranOuter = sqlConnection.BeginTransaction("outer");
    DoStuff();

        var tranInner = sqlConnection.BeginTransaction("inner");
        DoMoreStuff();
        tranInner.Commit();


    tranOuter.Commit();
}  
。。。抛出SqlConnection不支持并行事务。所以我可能不得不重新编写代码,以便在任何地方使用,或者我遗漏了什么

编辑:命名事务没有帮助


编辑:看起来这是一个

如果您使用一个
重载
来命名您的
事务
可能会有所帮助。我以前做过这件事,并且在执行嵌套事务时没有任何问题。也不要假设
提交
会成功尝试包装
传输内部和将外部
转换为各自独立的
语句,尝试{}catch{}
语句,并执行
回滚
如果提交失败,命名无法解决问题。异常由sqlConnection.BeginTransaction(“内部”)引发;我在代码中看不到您正在创建
SQLTransaction
对象的地方。@DJKRAZE sqlConnection.BeginTransaction创建它。为什么不尝试另一种方法,但显式创建SQLTransaction对象并以这种方式正确分配事务。。正如我所说的,我知道这种方法是有效的