我正在处理我们正在处理货币交易的情况。
例如,我有一张用户钱包表,他们的余额在该行中。
UserId; Wallet Id; Balance
现在在我们的网站和网络服务中,每次发生特定交易时,我们需要:
- 检查是否有足够的资金来执行该交易:
- 从余额中扣除交易成本。
在我的整个交易期间如何以及如何锁定该行/实体的正确方法是什么?
从我读到的一些解决方案中,EF标记了一个实体,然后在将其保存回数据库时比较该标记,但是当另一个用户/程序已经编辑了该数量时它会做什么?
我可以用 EF 实现这一目标吗?如果不是,我还有什么其他选择?
调用存储过程可能允许我正确锁定该行,以便在程序 A 锁定该行时没有其他人可以访问 SQL Server 中的该行?