Re: NHibernate и <version/>
От: GarryIV  
Дата: 08.07.09 07:44
Оценка: 2 (1)
Здравствуйте, Keith, Вы писали:

K>В маппинге для сущности задан тэг <version />.

K> Иногда возникает необходимость принудительно увеличить версию объекта не меняя значения ее свойств.
K> (например, когда меняется объект-ссылка и логика требует владельца такой ссылки то же обновить, хоть его свойства и не меняются)
K> Просто вызов Update() не помогает.
K> Как это правильно делается?
K> В документации ничего по этому поводу не нашел.

K>зы Можно, конечно, внутри транзакции менять какое-нибудь свойство объекта и восстанавливать, но это изврат.


смотри LockMode.Force
WBR, Igor Evgrafov
NHibernate и <version/>
От: Keith  
Дата: 07.07.09 16:51
Оценка:
В маппинге для сущности задан тэг <version />.
Иногда возникает необходимость принудительно увеличить версию объекта не меняя значения ее свойств.
(например, когда меняется объект-ссылка и логика требует владельца такой ссылки то же обновить, хоть его свойства и не меняются)
Просто вызов Update() не помогает.
Как это правильно делается?
В документации ничего по этому поводу не нашел.

зы Можно, конечно, внутри транзакции менять какое-нибудь свойство объекта и восстанавливать, но это изврат.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: NHibernate и <version/>
От: Keith  
Дата: 08.07.09 07:51
Оценка:
Здравствуйте, GarryIV, Вы писали:

K>>В маппинге для сущности задан тэг <version />.

K>> Иногда возникает необходимость принудительно увеличить версию объекта не меняя значения ее свойств.
K>> (например, когда меняется объект-ссылка и логика требует владельца такой ссылки то же обновить, хоть его свойства и не меняются)
K>> Просто вызов Update() не помогает.
K>> Как это правильно делается?
K>> В документации ничего по этому поводу не нашел.

GIV>смотри LockMode.Force


Спасибо, сегодня попробую!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: NHibernate и <version/>
От: Keith  
Дата: 08.07.09 13:44
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>смотри LockMode.Force


А после
Lock(myObject, LockMode.Force);
нужно вызывать
Lock(myObject, LockMode.None);
?
Т.е. Force только версию увеличивает и при этом ничего не лочит?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.