2016-06-29 3 views
0

enter image description here Получение этой ошибки для массового Isert. Только для большого количества записей.Массивная структура ошибок ошибок в объектах

switch (actionType) 
      { 
       case AuditLogSaveAction.Asynchronous: 
        ORMAsyncActionQueue.AuditLog.AddLogsToQueue(logsToSave); 
        break; 
       case AuditLogSaveAction.Synchronous: 
        **this.BulkInsert<AuditLog>(logsToSave); <- Exception Thrown here.** 
        break; 
      } 
+0

IS можно показать соответствующий код вместо этого изображения –

+0

редактировал вопрос –

+0

Как вы сопоставить Auditlog для bulkinsert операция? – Nathan

ответ

1

У меня был такой же error. Если вы используете BulkInset с некоторой логикой с параллельной логикой, например: несколько потоков или задач, вы можете взять именно эту ошибку. Он вызвал небезопасный код (был исправлен в собственном репозитории), но соответствующий пакет Nuget по-прежнему имеет эту ошибку, поэтому вы можете легко решить проблему - просто загрузите репозиторий и замените текущий пакет Nuget на него. This peace of code contains exception:

public static IEfBulkInsertProvider Get(DbContext context) 
{ 
    var connectionTypeName = context.Database.Connection.GetType().FullName; 
    if (!Providers.ContainsKey(connectionTypeName)) 
    { 
     throw new BulkInsertProviderNotFoundException(connectionTypeName); 
    } 

    return Providers[connectionTypeName]().SetContext(context); 
} 

Не Потокобезопасная код Providers собственности, как показано выше:

private static Dictionary<string, Func<IEfBulkInsertProvider>> Providers 
{ 
    get 
    { 
     //commented pice of code does not exist at Nuget Package 
     //lock (ProviderInitializerLockObject) 
     //{ 
      if (_providers == null) 
      { 
       _providers = new Dictionary<string, Func<IEfBulkInsertProvider>>(); 

       // bundled providers 
       Register<EfSqlBulkInsertProviderWithMappedDataReader>("System.Data.SqlClient.SqlConnection"); 
       //Register<EfSqlCeBulkiInsertProvider>("System.Data.SqlServerCe.4.0"); 
      } 
     //} 

     return _providers; 
    } 
} 
Смежные вопросы