Если вы переходите на EF Core, вы можете получить ближайший DbUpdateConcurrencyException
.
Общий подход к обработке конфликтов параллелизма:
- Поймать
DbUpdateConcurrencyException
во время SaveChanges
. - . Использовать
DbUpdateConcurrencyException.Entries
для подготовки нового набора изменений для затронутых объектов. - Обновить исходные значения токена параллелизма, чтобы отразить текущие значенияв базе данных.
- Повторять процесс до тех пор, пока не возникнут конфликты.
источник: https://docs.microsoft.com/en-us/ef/core/saving/concurrency
РЕДАКТИРОВАТЬ:
OptimisticConcurrencyException
находится в пространстве имен System.Data.Entity.Core
, которое является частью библиотеки EntityFramework
(EF6).
EF Core - это полное переписывание библиотеки инфраструктуры объектов, поэтому весьма вероятно, чтоOptimisticConcurrencyException
никогда не входил в EF Core.
Был также этот поток , который предлагал просто перехватить DbUpdateConcurrencyException
в EF6.Также было отмечено, что два исключения в EF6 только добавляют путаницу.Поэтому, возможно, команда EF Core решила внедрить одно поверх другого.
Если все еще есть сомнения, создайте проблему в репозитории EF Core github.Они готовы ответить на вопросы, и это может помочь другим пользователям с такой же проблемой.:)