[ConcurrencyCheck] 装饰是否不起作用?
Is [ConcurrencyCheck] decoration non-functional?
我正在尝试在核心项目中实施开放式并发检查。我显示要编辑的记录,在后端更改数据(Sql Server Management Studio),保存网页中的数据,但没有发生并发异常,尽管装饰在模型中的每个字段上(除了钥匙)。
我读了这篇文章:
这似乎可以解释修饰'[ConcurrencyCheck]' 什么都不做!如果我们使用 EF 上下文调用 .Update 和 .SaveChanges,它似乎建议在模型中构建重复的、未映射的字段(似乎并发比较发生在 .Update 检索用户从未见过的数据版本以进行比较时)。
本文:
https://docs.microsoft.com/en-us/ef/core/saving/concurrency
有一个使用 RawSQL 的例子。
现在,我可以使用 RowVersion。如果 [ConcurrencyCheck] 文档包含语句 "Only works with RawSql".
,我可能会先使用它
我读错了吗?
我看错了。我只是在没有等待的情况下自动使用 SaveChangeAsync 和
没想到更新完成前会return。我将其更改为 .SaveChanges 并捕获了异常。
我正在尝试在核心项目中实施开放式并发检查。我显示要编辑的记录,在后端更改数据(Sql Server Management Studio),保存网页中的数据,但没有发生并发异常,尽管装饰在模型中的每个字段上(除了钥匙)。
我读了这篇文章:
这似乎可以解释修饰'[ConcurrencyCheck]' 什么都不做!如果我们使用 EF 上下文调用 .Update 和 .SaveChanges,它似乎建议在模型中构建重复的、未映射的字段(似乎并发比较发生在 .Update 检索用户从未见过的数据版本以进行比较时)。
本文:
https://docs.microsoft.com/en-us/ef/core/saving/concurrency
有一个使用 RawSQL 的例子。
现在,我可以使用 RowVersion。如果 [ConcurrencyCheck] 文档包含语句 "Only works with RawSql".
,我可能会先使用它我读错了吗?
我看错了。我只是在没有等待的情况下自动使用 SaveChangeAsync 和 没想到更新完成前会return。我将其更改为 .SaveChanges 并捕获了异常。