正在加载今日诗词....
Clem knocking cup

两个请求同时改库存,RowVersion 救了一命 原创

2026-10-06 码农刚子 EF Core 避坑

两个并发请求同时读取库存并各自扣减,导致超卖——这是经典的丢失更新问题。RowVersion(行版本)通过乐观锁机制解决该问题:EF Core在UPDATE语句的WHERE子句中加入原始RowVersion值,若数据库中的版本已变,则更新影响0行,抛出DbUpdateConcurrencyException,从而阻止静默覆盖。

阅读更多