Я добавляю новую запись в таблицу, используя ядро EntityFramework следующим образом:
public void AddAudit(Audit audit)
{
foodStoreDBContext.Audits.Add(audit);
foodStoreDBContext.SaveChanges();
}
.При выполнении этого оператора, не вызывающего проблем, но когда я пытался вызвать эту функцию, используя параллельные запросы для целей тестирования (около 10 одновременных запросов), повторенные 100 раз, появляется исключение: «эта транзакция sqltransaction завершена; она больше не может использоваться».
Я регистрирую класс DatabaseContext в Scope:
services.AddScoped<IAuditRepository, AuditRepository>();
, хотя я перешел на AddTransiant, но проблема по-прежнему существует.
одна из рекомендаций - включить повторную попытку при сбое, как этот:
the configuration I am using are :
options.UseSqlServer(
Configuration["Data:FoodSave:ConnectionString"],sqlServerOptionsAction: sqlOptions =>
{
sqlOptions.EnableRetryOnFailure(
maxRetryCount: 10,
maxRetryDelay: TimeSpan.FromSeconds(30),
errorNumbersToAdd: null);
})
, но с той же ошибкой выше.пожалуйста помогите