首页 新闻 会员 周边

请问在EntityFramework如何进行SQL原子操作?

0
悬赏园豆:5 [待解决问题]

比如 update KuCun set num=num-1 where id=222;

像这种SQL的原子操作,在EF中如何写呢?

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2019-03-07 11:39
< >
分享
所有回答(4)
0

执行非查询语句,调用 DbContext 的 Database 属性的 ExecuteSqlCommand 方法
是这个吗

筱浬 | 园豆:601 (小虾三级) | 2019-03-07 11:43

看来还是要写SQL啊..

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2019-03-07 14:16

@hexllo: 没有啊,有很多种方式的 你不一定要用写sql的方式啊

支持(0) 反对(0) 筱浬 | 园豆:601 (小虾三级) | 2019-03-07 14:36

@hexllo: 修改对象后,db.SaveChanges()这样也可以

支持(0) 反对(0) 筱浬 | 园豆:601 (小虾三级) | 2019-03-07 14:37
0
会长 | 园豆:12401 (专家六级) | 2019-03-07 12:04
0

update KuCun set num=num-1 where id=222 and timeFlag=1552010161;
言外之意就是在数据表中加个一个字段 timeFlag ,用来做锁标识,当然,这个有点数据库层面了,EF的话可以用事务

jerry-Tom | 园豆:4077 (老鸟四级) | 2019-03-08 09:57
0

假设你的KuCun指的是库存的话,更新库存的问题不只是原子性的问题,即便是能保证原子性,这个SQL也可能将库存降为负值,按我理解你需要的是一个分布式锁

chouyuu | 园豆:237 (菜鸟二级) | 2019-03-14 01:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册