Здравствуйте, MozgC, Вы писали:
MC>Может я не в тему напишу, не знаю как такое лучше сделать в NHibernate, но вообще я обычно такое делаю так:
MC>UPDATE warehouse SET Quantity = Quantity - X WHERE ID = Y AND Quantity >= X
MC>и проверяю что была изменена 1 строка, а не 0. Если 0 — выбрасываю ConcurrencyException.
Ну, если писать запросы руками, то лучше имхо вообще отказаться от NHibernate и использовать тот же BLToolkit.
+ В вашем подходе надо задавать ограничение в БД и обрабатывать соответствующие ADOException, что тоже выглядит неудобно.