C# 实体框架并发检查:保存更改而不增加行版本

C# 实体框架并发检查:保存更改而不增加行版本,c#,multithreading,entity-framework,concurrency,C#,Multithreading,Entity Framework,Concurrency,我有一个web表单应用程序,在按下保存按钮后要求确认。(确认:保存记录并向客户端显示需要保存的所有内容) 问题是,通过按下save按钮,我还在另一个线程中对记录执行一些繁重的操作,这些操作会保存记录,并导致RowVersion被更改为新值 现在,当用户想要提交记录时,他会得到一个OptimisticConcurrencyException 我想知道是否有任何解决方案可以只为一个特定的Savechanges()关闭该增量,而不在后台线程中使用tsql 如果第一次保存将A列更改为值BobA,第二次(

我有一个web表单应用程序,在按下保存按钮后要求确认。(确认:保存记录并向客户端显示需要保存的所有内容)

问题是,通过按下save按钮,我还在另一个线程中对记录执行一些繁重的操作,这些操作会保存记录,并导致RowVersion被更改为新值

现在,当用户想要提交记录时,他会得到一个OptimisticConcurrencyException


我想知道是否有任何解决方案可以只为一个特定的Savechanges()关闭该增量,而不在后台线程中使用tsql

如果第一次保存将A列更改为值
BobA
,第二次(当前)保存失败将A列更改为值
BobB
-哪一个应该赢?@mjwills两者都赢,但在第二次保存完成后,没有简单的方法用新的行版本更新web表单。这就是为什么我在寻找第二个进程不影响rowVersion的方法。这两个都不是选项。您希望最终值是
BobA
还是
BobB
(即第一个赢还是最后一个赢)?一旦我们知道了这一点,我们可以给你一些选择。假设流程a从不改变流程B将要改变的特定列,那么就没有实际的冲突了?