2010-04-26 4 views
0

Can Castle ActiveRecord делает оптимистичную блокировку свойств? Я нашел оптимистичную блокировку для всего класса, но не для отдельного объекта. В моем случае мне нужно сделать так, чтобы добавление/удаление элементов в коллекции не обновляло номер версии объекта (например, добавление Product к Store без изменения какого-либо из свойств Store не приведет к увеличению номер версии).Замок ActiveRecord оптимистичная блокировка по свойствам

ответ

0

NHibernate поддерживает optimistic-lock свойство, которое может быть применено к свойствам или коллекций, и делает именно то, что вы хотите, когда установлен ложной (по умолчанию верно)

Я думаю ActiveRecord в настоящее время не подвергать его воздействию. Не уверен, как трудно было бы продлить его.

+0

Спасибо. Это довольно неприятно слышать. –

+0

Ну, будучи открытым исходным кодом, это просто вопрос загрузки источников и проверки, где генерируются сопоставления. Переход на не обернутый NHibernate является следующей альтернативой. –

+0

Чтобы подтвердить ответ Диего: ActiveRecord в настоящее время не поддерживает атрибут optimistic-lock для свойств/коллекций. Это не сложно реализовать, см. Http://github.com/castleproject/Castle.ActiveRecord/blob/master/src/Castle.ActiveRecord/Framework/Internal/Visitors/XmlGenerationVisitor.cs#L598 –