EF Core 避坑
EF Core 的坑大多不在语法,而在「它替你做了什么决定」。 查询翻译、延迟加载、事务边界、迁移管理 —— 本系列记录生产环境里的实际问题与解法。
两个请求同时改库存,RowVersion 救了一命 原创
两个并发请求同时读取库存并各自扣减,导致超卖——这是经典的丢失更新问题。RowVersion(行版本)通过乐观锁机制解决该问题:EF Core在UPDATE语句的WHERE子句中加入原始RowVersion值,若数据库中的版本已变,则更新影响0行,抛出DbUpdateConcurrencyException,从而阻止静默覆盖。
上线前一切正常,发布后生产库少了三张表 原创
这是「秦巴牧云踩坑录」第 3 篇,接着第 2 篇的多租户隔离,复盘那场 EF Core 迁移事故。 说真的,做秦巴牧云那阵子,我差点把 EF Core 的迁移当银弹供起来。本地 EnsureCreated 一跑,库和表全冒出来了,那叫一个爽。 等发到生产,三张新表死活没建出来,我才反应过...