我正在开发一个ASP.NET在线商店。每个产品都有一个实体,甚至用户都会销售它,它的实体应该减少。 因为此字段在所有用户之间共享,所以可能是否定的(因为共享数据问题)。 现在,我该如何防止这个问题?我可以使用交易吗?如果可以的话,我应该使用什么隔离级别?如果没有,我该怎么办?
答案 0 :(得分:0)
如果可能,我建议进行一些设计更改。而不是减少/增加,换句话说更新字段,我会在每次卖出时插入一条记录。然后我会创建一个存储过程并安排它定期运行它。
这将确保一次只有一个进程更新计数器。
这是我所知道的唯一保证100%字段一致的方法。
有些人可能会建议悲观锁定 - 在任何情况下我都不会使用它。