【发布时间】:2013-10-24 07:34:03
【问题描述】:
我有很多相当有效的代码已经在这里使用了几个月,今天我看到记录了以下异常:
System.InvalidOperationException
SqlConnection does not support parallel transactions.
at System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(
IsolationLevel iso, String transactionName)
at System.Data.SqlClient.SqlConnection.BeginTransaction(
IsolationLevel iso, String transactionName)
at my code here
我想调查一下为什么会抛出这个异常。我已经阅读了 BeginTransaction() 的 MSDN 描述,它只是说,有时会抛出这个异常。
这个异常到底是什么意思?我应该在我的代码中寻找什么缺陷?
【问题讨论】:
-
您是在使用常规的 SqlConnection/SqlCommmand/SqlDataAdapter 还是在使用 ORM(例如 EF 或 L2S 或其他)?代码是使用显式事务还是 TransactionScopes?另外,您能否围绕正在记录/引发异常的错误发布代码示例?
-
查看这个答案:stackoverflow.com/questions/407320/… 是差不多的问题。
-
@SimonGoldstone:如果我可以缩小问题范围,我不会问这个问题。我不是在问“我的代码不起作用,请尽快提供帮助”,我是在问我必须在我的代码中寻找什么。
-
所以为了缩小问题的范围,您是使用常规的SqlConnection/SqlCommmand/SqlDataAdapter 还是使用 ORM(例如 EF 或 L2S 或其他)?代码是使用显式事务还是 TransactionScopes?
-
@SimonGoldstone:代码使用SQL???无需任何中间件,直接使用 SqlTransaction 进行交易。
标签: c# .net transactions sqlconnection