我们在Nhb配置中使用脏的乐观锁定设置了实体更新:{ x.OptimisticLock.Dirty();}
它生成的请求实际上只更改了字段,WHERE语句确保没有一个线程并行更新该字段,从而产生像UPDATE OurEntity SET f1 = 'new value' WHERE f1= 'old val
我目前正在开发一个带有linq- to -sql的C# windows窗体,它可以从SQL表中选择一行,然后允许用户编辑该行中的字段。这个表单将被多个用户同时使用,我希望当有人选择了一行,并且当前正在表单中输入数据(一旦用户点击表单上的按钮,该行将被更新),其他人就不能选择该行。一旦用户点击按钮执行更新查询,更新后的行应该可以再次选择。从本质上讲,这个过程是:
用户选择行-->其他用户无法选择行-->用户修改行字段值-->用户提交和行更新-->行再次变为可选。有没