EnableRetryOnFailure() не работает для сериализации «40001»C#

Место общения программистов C#
Ответить
Anonymous
 EnableRetryOnFailure() не работает для сериализации «40001»

Сообщение Anonymous »

Я работаю над проектом на основе Winform C# с Entity Framework, записываю/читаю данные из базы данных PostgreSQL.
У меня будет небольшое количество клиентов (4/5) ) с низким трафиком, поэтому я решил использовать уровень сериализуемой изоляции, чтобы упростить разработку и повысить безопасность, даже если я потеряю некоторую производительность.
Теперь я пытаюсь обработать ошибку сериализации «40001», и я пытаюсь добавить логику повтора, но я знаю, что EF имеет встроенную логику повтора, поэтому я пытаюсь использовать EnableRetryOnFailure(), но кажется, что он работает неправильно.< /p>
Я пытался добавить в свою настройку OnConfiguring:

Код: Выделить всё

options.EnableRetryOnFailure(3, TimeSpan.FromSeconds(5), new List { "40001" }))
Но кажется, что он не повторяет попытку, а каждый раз генерирует исключение.
Есть идеи или предложения?
Спасибо
Это мое сообщение об ошибке:

не удалось: 21.06.2024 15:45: 29.512 RelationalEventId.CommandError[20102] (Microsoft.EntityFrameworkCore.Database.Command)
Не удалось выполнить DbCommand (11 мс) [Parameters=[@p0='TEST CLIENT' (Nullable = false), @p1='OV24-00001 ' (Nullable = false)], CommandType='Text', CommandTimeout='30']
INSERT INTO sales_orders (client_name, ov_number)
ЗНАЧЕНИЯ (@p0, @p1)
ВОЗВРАЩЕНИЕ id_sales_orders ;


Подробнее здесь: https://stackoverflow.com/questions/786 ... ialization
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»