Ich hatte das gleiche error. Wenn Sie BulkInset mit einer gleichzeitigen Logik verwenden, zum Beispiel: mehrere Threads oder Aufgaben, können Sie genau diesen Fehler machen. Es verursachte keinen Thread-sicheren Code (wurde im nativen Repository behoben), aber das entsprechende Nuget-Paket hat immer noch diesen Fehler, sodass Sie das Problem einfach lösen können - einfach das Repository herunterladen und das aktuelle Nuget-Paket damit ersetzen. 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);
}
Nicht sicher Code von Providers
Eigenschaft fädeln, oben gezeigt:
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;
}
}
ist es möglich, den entsprechenden Code stattdessen für dieses Bild –
die Frage –
bearbeitet zu zeigen, wie Sie auditlog für bulkinsert Karte haben Betrieb? – Nathan