开一个事务不就行了吗
这种在SQL语句假的锁全是乐观锁。
最简单的悲观锁,直接用lock把服务数据对象锁住就Ok了。
深入的话搜索一下数据库的隔离等级,看看您需要什么样的悲观锁隔离级别。
一般更新锁就可以解决大部分并发问题,虚幻行的并发问题还是要用最高级别的隔离。EF和ado.net都有提供锁的解决方案,查一下MSDN
EF可以单独设置Qty这一字段的隔离锁级别。
不用这么复杂,使用一个时间戳字段就可以,详细可以加我的qq350020527
http://www.cnblogs.com/wdfrog/archive/2012/06/14/2549835.html
SQL时间戳也很好解决并发,不知Oracle行不行
Oracle的也可以很好解决并发:首先建立Oracle自己维护的行版本字段;其次EF设置该字段的并发模式;最后加锁保存