Transaction isolation level can't be changed while a transaction
Posted: Mon 14 Mar 2016 15:56
Hello,
The exception keep occuring randomly, like (http://forums.devart.com/viewtopic.php?t=16471). I've capture a dump, it shows that none of 5 connections in connection pool has transaction. My exception stacktrace is:
> 在 Devart.Data.MySql.bj.a()
> 在 Devart.Data.MySql.bj.i()
> 在 Devart.Data.MySql.ae.a(aa[]& A_0, Int32& A_1, Boolean A_2)
> 在 Devart.Data.MySql.ae.a(Byte[] A_0, Int32 A_1, Boolean A_2, String A_3)
> 在 Devart.Data.MySql.g.e()
> 在 Devart.Data.MySql.g.m()
> 在 Devart.Data.MySql.MySqlCommand.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords)
> 在 Devart.Common.DbCommandBase.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
> 在 Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
> 在 Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
> 在 System.Data.Common.DbCommand.ExecuteReader()
> 在 Devart.Common.DbCommandBase.ExecuteNonQuery()
> 在 Devart.Data.MySql.MySqlTransaction..ctor(MySqlConnection A_0, IsolationLevel A_1)
> 在 Devart.Data.MySql.MySqlInternalConnection.BeginTransaction(IsolationLevel il)
> 在 Devart.Common.DbConnectionBase.BeginDbTransaction(IsolationLevel isolationLevel)
> 在 Devart.Data.MySql.MySqlConnection.BeginDbTransaction(IsolationLevel isolationLevel)
> 在 System.Data.Common.DbConnection.BeginTransaction(IsolationLevel isolationLevel)
> 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<BeginTransaction>b__0(DbConnection t, BeginTransactionInterceptionContext c)
> 在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
> 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.BeginTransaction(DbConnection connection, BeginTransactionInterceptionContext interceptionContext)
> 在 System.Data.Entity.Core.EntityClient.EntityConnection.<>c__DisplayClassf.<BeginDbTransaction>b__d()
> 在 System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
> 在 System.Data.Entity.Core.EntityClient.EntityConnection.BeginDbTransaction(IsolationLevel isolationLevel)
Please, somebody help me, thanks!
The exception keep occuring randomly, like (http://forums.devart.com/viewtopic.php?t=16471). I've capture a dump, it shows that none of 5 connections in connection pool has transaction. My exception stacktrace is:
> 在 Devart.Data.MySql.bj.a()
> 在 Devart.Data.MySql.bj.i()
> 在 Devart.Data.MySql.ae.a(aa[]& A_0, Int32& A_1, Boolean A_2)
> 在 Devart.Data.MySql.ae.a(Byte[] A_0, Int32 A_1, Boolean A_2, String A_3)
> 在 Devart.Data.MySql.g.e()
> 在 Devart.Data.MySql.g.m()
> 在 Devart.Data.MySql.MySqlCommand.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords)
> 在 Devart.Common.DbCommandBase.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
> 在 Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
> 在 Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
> 在 System.Data.Common.DbCommand.ExecuteReader()
> 在 Devart.Common.DbCommandBase.ExecuteNonQuery()
> 在 Devart.Data.MySql.MySqlTransaction..ctor(MySqlConnection A_0, IsolationLevel A_1)
> 在 Devart.Data.MySql.MySqlInternalConnection.BeginTransaction(IsolationLevel il)
> 在 Devart.Common.DbConnectionBase.BeginDbTransaction(IsolationLevel isolationLevel)
> 在 Devart.Data.MySql.MySqlConnection.BeginDbTransaction(IsolationLevel isolationLevel)
> 在 System.Data.Common.DbConnection.BeginTransaction(IsolationLevel isolationLevel)
> 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<BeginTransaction>b__0(DbConnection t, BeginTransactionInterceptionContext c)
> 在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
> 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.BeginTransaction(DbConnection connection, BeginTransactionInterceptionContext interceptionContext)
> 在 System.Data.Entity.Core.EntityClient.EntityConnection.<>c__DisplayClassf.<BeginDbTransaction>b__d()
> 在 System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
> 在 System.Data.Entity.Core.EntityClient.EntityConnection.BeginDbTransaction(IsolationLevel isolationLevel)
Please, somebody help me, thanks!