I have a parent-child relationship where I track revision numbers for each item.
So I have: *Parent.RevisionParent.EditedOnParent.Children - Child.Revision - Child.Parent - Child.EditedOn* I track the "Edited" date using the SaveOrUpdateEvent Event Listener. I manually increment the revision when I "Publish" my objects by comparing Child.EditedOn to Parent.EditedOn. The problem with this is the Child.EditedOn is always later than Parent.EditedOn. This is because when NH goes to persist the object, it persists the parent (and timestamps it) and then persists the children (and timestamps them). So when I look for objects where *Child.EditedOn *> *Parent.EditedOn*, the Children always appear to have been edited since the parent object was saved. I understand I could also commit another transaction that "touches" the parent object, but this removes the atomicity of the transaction and could put my database into a bad state. It seems like this is an error in my coding that could be resolved by a design pattern I'm not thinking of. Another option I see is to manually implement my own dirty / edit tracking, but this is a really unattractive option. If there was an event that is triggered upon Entity Dirty, but I haven't found this in NH. Any feedback would be appreciated! -- You received this message because you are subscribed to the Google Groups "nhusers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/nhusers. For more options, visit https://groups.google.com/d/optout.
