如何使用ADO.NET和SQL Server启用嵌套事务?

7 c# sql-server ado.net nested-transactions

我有类似的问题,如何检查,如果你是在一个事务中.而不是检查,我如何允许嵌套事务?

我正在使用Microsoft SQL Server数据库与ADO.NET.我已经看到了使用T-SQL的示例以及使用begin和使用事务名​​称启动事务的示例.当调用connection.BeginTransaction时,我在同一个连接中调用另一个函数,并再次调用BeginTransaction,这给了我异常:

SqlConnection does not support parallel transactions.
Run Code Online (Sandbox Code Playgroud)

似乎许多Microsoft变种允许这样做,但我无法弄清楚如何使用我的.mdf文件.

如何使用C#和ADO.NET允许嵌套事务与Microsoft SQL Server数据库?

Dan*_*haw 7

SQL Server作为一个整体不支持嵌套事务.在T-SQL中,您可以BEGIN TRAN更早地发布内部,BEGIN TRAN但这只是为了方便起见.这只是外部交易的重要性.SQL Server(SqlConnection)的.NET客户端甚至不允许您这样做,并在您尝试时抛出此异常.