我正在开发一个需要处理DbUpdateConcurrencyException
的应用程序,并且正在浏览网络以获取实施建议。我在多种资源中找到了一种特定的实现方式,例如this和this(在两种资源中都接近底部)
其实现如下:
try
{
//...
}
catch (DbUpdateConcurrencyException ex)
{
var entry = ex.Entries.Single();
entry.OriginalValues.SetValues(entry.GetDatabaseValues()); //<----
}
我的问题/我想了解的内容:
请注意catch
子句的第二行。我如何设置数据库值(当前值)以覆盖原始值,该异常如何解决?
请注意,我通常熟悉并发,并且熟悉术语当前值,数据库值和原始值。我对它的含义不感兴趣,但是对为什么感兴趣,这是解决并发问题的好方法,并且为什么有意义覆盖原始值
谢谢