Какой пакет NuGet содержит исключение OptimisticConcurrencyException для ядра DotNet? - PullRequest
0 голосов
/ 11 июня 2018

Я перевожу код в DotNet Core.Мне нужно разрешить ссылку на OptimisticConcurrencyException.Какой пакет NuGet мне нужно загрузить?

1 Ответ

0 голосов
/ 11 июня 2018

Если вы переходите на EF Core, вы можете получить ближайший DbUpdateConcurrencyException.

Общий подход к обработке конфликтов параллелизма:

  1. Поймать DbUpdateConcurrencyException во время SaveChanges.
  2. . Использовать DbUpdateConcurrencyException.Entries для подготовки нового набора изменений для затронутых объектов.
  3. Обновить исходные значения токена параллелизма, чтобы отразить текущие значенияв базе данных.
  4. Повторять процесс до тех пор, пока не возникнут конфликты.

источник: 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.Они готовы ответить на вопросы, и это может помочь другим пользователям с такой же проблемой.:)

...