views:

99

answers:

1

Can Castle ActiveRecord do optimistic locking on properties? I found optimistic locking for the entire class, but not for an individual property. In my case, I need to make it so that adding/removing elements in a collection does not update the version number of the entity (so for example, adding a Product to a Store without changing any of Store's properties will not increment the version number).

A: 

NHibernate supports an optimistic-lock property that can be applied to properties or collections and does exactly what you want when set to false (default is true)

I think ActiveRecord doesn't currently expose it. Not sure how hard it would be to extend it.

Diego Mijelshon
Thanks. That's pretty disheartening to hear.
Daniel T.
Well, being open source, it's just a matter of downloading the sources and checking where the mappings are generated. Moving to non-wrapped NHibernate is the next alternative.
Diego Mijelshon
To confirm Diego's answer: ActiveRecord doesn't currently support the optimistic-lock attribute on properties/collections. It's not hard to implement though, see http://github.com/castleproject/Castle.ActiveRecord/blob/master/src/Castle.ActiveRecord/Framework/Internal/Visitors/XmlGenerationVisitor.cs#L598
Mauricio Scheffer