I think you're are looking for some way to modify the behavior of Nhibernate.Envers.Entities.EntityInstantiator or maybe that this object call some "light" version of an "envers interceptor type" with a method called PostInstantiated(object auditedEntity) or similiar.
Feel free to come with suggestions, either here or on the JIRA, how you want your issue to be solved. I need to think about this. I don't think it's possible to do want you want using some present ext point in Envers. On the other hand, what prevents you fixing it the easy way and just set the values manually in your DAL/Repository/what-ever-you-call-it method right after the audit entities has been loaded? -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Pete Appleton Sent: den 20 november 2012 14:38 To: [email protected] Subject: RE: [nhusers] RE: Envers - custom IIdMapper implementation? In a nutshell, people get email invitations to fill out review forms and there's a rather bizarre requirement that they always 'see' the form as it was at the moment the invitation was created, regardless of what's changed since. To achieve this, we're recording an Envers version in the 'invitation' entity and then using the IAuditReader to pull out the object graph as it was at that revision - the basics of this work remarkably well considering that this isn't Enver's basic design intention. The problem we're facing is that a few of our entities have (transient) properties needed for the domain logic injected into them with context-specific information by an NHibernate interceptor (a trivial example would be the current user). However, Envers reads the entities as maps rather than POCO's and so the interceptor isn't able to do this for the versioned entities. Looking over the Envers code, admittedly at silly-o'clock this morning, made me think that we could tweak MapToEntityFromMap to do the injection. Pseudo-code: class MyEntity { Id {get; protected set; } Name { get; set; } [DependencyAttribute] Context { get; set; } // Injected by interceptor } -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Roger Kratz Sent: 20 November 2012 12:37 To: [email protected] Subject: [nhusers] RE: Envers - custom IIdMapper implementation? I don't think it's currently possible. Why do you want to do this? What do you want to accomplish? -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Pete Appleton Sent: den 20 november 2012 13:08 To: [email protected] Subject: [nhusers] Envers - custom IIdMapper implementation? Hi, We're wanting to use a custom IIdMapper in our Envers setup, but haven't found the extension point to configure it; any pointers please? Thanks, Pete -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en. -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en. -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en. -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
