Я использую ODataController для вставки и обновления записей в базу данных. Я использую метод PUT, используя .UpdateEntryAsync()
Вот мой метод размещения.
public async Task<IHttpActionResult> Put([FromODataUri] string key, Delta<KYCBtnDetails> patch)
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
KYCBtnDetails KYCBtnDetails = await _KYCDBModel.KYCBtnDetails.FindAsync(key);
if (KYCBtnDetails == null)
{
return NotFound();
}
patch.Put(KYCBtnDetails);
KYCBtnDetails.id = key;
try
{
await _KYCDBModel.SaveChangesAsync();
}
catch (Exception e)
{
}
return Updated(KYCBtnDetails);
}
catch (Exception ex)
{
}
return null;
}
в ожидании _KYCDBModel.SaveChangesAsync() это дает мне ошибку, поскольку новая транзакция не разрешена, поскольку в сеансе выполняются другие потоки. Произошла ошибка при запуске транзакции в соединении с провайдером. Подробности смотрите во внутреннем исключении.
Иногда запускается, а иногда выдает ошибку
Пожалуйста, помогите мне в этом, спасибо.
_KYCDBModel
, скорее всего, зарегистрирован неправильно. - person mjwills   schedule 09.09.2020_KYCDBModel
между несколькими запросами. - person Dennis   schedule 09.09.2020