更新时防止脏读导致更新错误 返回
UPDATE dbo.Sys_User SET LastModifyTime=GETDATE()
WHERE Pkid=1 AND LastModifyTime='2018-05-05 11:00:21:321';
更新时根据主键和最后一次更新时间,来进行更新数据,防止更新的数据已经被别人更新过,同时把最后一次更新时间更改成当前时间
请问这种写法该如何写?
目前想到的是 传entity,和读取该数据时的LastModifyTime ,是否有其他更方便的方法解决,甚至底层的写法来解决
public bool UpdateEntity(Sys_User entity,DateTime time)
{
try
{
int res=db.Updateable<Sys_User>(entity).Where(a => a.Pkid == entity.Pkid && a.LastModifyTime == time).ExecuteCommand();
if (res > 0)
{
return true;
}
return false;
}
catch (Exception)
{
return false;
}
}
热忱回答(1)
-
程序 VIP0
2018/5/8SELECT时 使用 .With(SqlWith.UpdLock)
0 回复