[linq2db] db.Update() с условием
От: FireShock Россия  
Дата: 12.09.14 08:17
Оценка:
Получили из базы объект, поработали с ним в бизнес логике, теперь надо сохранить его обратно. Но в таблице базы есть поле timestamp, которое меняется при изменении записи в таблице. То есть, сохранять изменения в базу нельзя, если timestamp в объекте и в базе различаются, то есть, запись изменилась другим человеком, скажем.

Не получается добавить атомарную проверку.

Так не работает:
db.Products.Where(p => p.timestamp == product.timestamp).Update(p => p, product);


Так тоже не работает:
db.Products.Update(p => p.timestamp == product.timestamp, p => product );


И так не работает:
db.Where<DB, Product, DB>(p => p.timestamp == product.timestamp).Update(product);


Работает только так, но без проверки на измененный timestamp:
db.Update(product);


Можно как-то сделать?
Instagram
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.