Linq ChangeConflictException происходит при представлении изменений DataContext

System.Data.Linq.ChangeConflictException: 2 of X updates failed.
  at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
  at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
  at PROJECT.Controllers.HomeController.ClickProc(Int32 id, String code, String n)

Это - то, что я получаю очень часто. Это действие является сделанными тысячами времен день, и я получаю это исключение об один раз в 5 секунд. Из того, что я понимаю, что это происходит, когда что-то изменяется в базе данных в период между созданием DataContext и обновление его.Я прав?

Как я могу зафиксировать его?

Обновление

Я просто отладил ошибку и нашел следующее:

Table name: dbo.Stats
current value: 9852039
original value: 9852038
database value: 9852039

Таблица Stats постоянно обновляется. Таким образом, как я могу все еще заставить LINQ сохранить изменения. С "классическим" доступом SQL Server через SqlDataCommand У меня никогда не было проблем как этот.

10
задан BoltClock 25 December 2011 в 23:14
поделиться

1 ответ

Это связано с оптимистическим параллелизмом. Вы можете изменить это поведение, но прежде поймите, что оно делает.

https://blogs.msdn.microsoft.com/matt/2008/05/22/intro-to-linq-to-sql-optimistic-concurrency/

10
ответ дан 4 December 2019 в 01:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: