[ConcurrencyCheck]装饰是否不起作用?

[ConcurrencyCheck]装饰是否不起作用?,concurrency,ef-core-2.2,Concurrency,Ef Core 2.2,我试图在一个核心项目中实现乐观并发检查。我显示要编辑的记录,在后端(SQLServerManagementStudio)更改数据,从网页保存数据,但尽管模型中的每个字段(键除外)都有装饰,但不会发生并发异常 我读了这篇文章: 这似乎解释了装饰“[ConcurrencyCheck]”完全没有任何作用!如果我们使用EF context调用.Update和.SaveChanges,它似乎建议在模型中构建重复的、未映射的字段(当.Update检索到用户从未见过的用于比较的数据版本时,会发生并发比较)

我试图在一个核心项目中实现乐观并发检查。我显示要编辑的记录,在后端(SQLServerManagementStudio)更改数据,从网页保存数据,但尽管模型中的每个字段(键除外)都有装饰,但不会发生并发异常

我读了这篇文章:

这似乎解释了装饰“[ConcurrencyCheck]”完全没有任何作用!如果我们使用EF context调用.Update和.SaveChanges,它似乎建议在模型中构建重复的、未映射的字段(当.Update检索到用户从未见过的用于比较的数据版本时,会发生并发比较)

本文:

有一个使用RawSQL的示例

现在,我可以使用RowVersion了。如果[ConcurrencyCheck]文档中包含语句“仅适用于RawSql”,我可能会首先使用它


我读错了吗?

我读错了。我只是自动使用了SaveChangeAsync,没有等待和 没有考虑它会在更新完成之前返回。我将其更改为.SaveChanges,它捕获了异常