在DbUpdateConcurrencyExpcetion上实现乐观并发

时间:2019-01-09 15:34:29

标签: c# asp.net-mvc asp.net-core concurrency exception-handling

我正在开发一个需要处理DbUpdateConcurrencyException的应用程序,并且正在浏览网络以获取实施建议。我在多种资源中找到了一种特定的实现方式,例如thisthis(在两种资源中都接近底部)

其实现如下:

try
{
    //...
}
catch (DbUpdateConcurrencyException ex)
{
    var entry = ex.Entries.Single();
    entry.OriginalValues.SetValues(entry.GetDatabaseValues()); //<----
}

我的问题/我想了解的内容:

请注意catch子句的第二行。我如何设置数据库值(当前值)以覆盖原始值,该异常如何解决?

请注意,我通常熟悉并发,并且熟悉术语当前值,数据库值和原始值。我对它的含义不感兴趣,但是对为什么感兴趣,这是解决并发问题的好方法,并且为什么有意义覆盖原始值

谢谢

0 个答案:

没有答案