Oracle.ManagedDataAccess.Client создает исключение NullReferenceException - PullRequest
0 голосов
/ 15 ноября 2018

Я использую Entity Framework 6 с Oracle.ManagedDataAccess.Спорадически я получаю эту ошибку:

System.NullReferenceException: Object reference not set to an instance of an object. at Oracle.ManagedDataAccess.Client.OracleConnection.get_m_majorVersion() at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior) at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext) at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues) at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5() at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext() at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at MyApp.MyScheduler.AddSampleOperation(SampleOperation sampleOperation)

Это происходит именно тогда, когда я звоню, как:

_dbContext.SampleOperations.AsNoTracking().First(so => so.SampleOperationId == sampleOperation.SampleOperationId);

Чтобы было ясно,это не исключение NullReferenceException, возникающее с кодом, который я контролирую.Это происходит в клиентском коде Oracle и происходит только время от времени.Я могу воспроизвести одни и те же шаги несколько раз, и ошибка не произойдет, тогда в конце концов это произойдет.Я попытался удалить Oracle.ManagedDataAccess.Client из GAC, но это не помогло.

Я надеюсь, что кто-то еще видел эту ошибку.Я использую следующие версии от NuGet:

Oracle.ManagedDataAccess: 12.1.24160719

Oracle.ManagedDataAccess.EntityFramework: 12.1.2400

EntityFramework: 6.1.3

Может ли это быть что-то, что было исправлено в более поздней версии Oracle.ManagedDataAccess?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...