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).
views:
99answers:
1
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
2010-04-27 01:46:16
Thanks. That's pretty disheartening to hear.
Daniel T.
2010-04-27 19:35:44
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
2010-04-27 19:46:55
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
2010-04-28 01:33:55