Aqui va otro que puede que te ayude...

http://darrell.mozingo.net/2009/08/31/auditing-with-nhibernate-listeners/



On Dec 17, 12:00 pm, Jose Ramirez <[email protected]> wrote:
> Hola
>
> Estoy tratando de trackear los cambios que se hacen sobre los valores de una
> coleccion en una entidad.
> El modelo es  mas o menos asi.
>
> public class Equipment
> {
>         public ISet<EquipmentProperty> Properties {get; set;}
>         //...
>
> }
>
> public class EquipmentProperty
> {
>         public Equipment Equipment {get; set;}
>         public object Value {get; set;}
>         //...
>
> }
>
> Especificamente quiero guardar en una tabla lo siguiente:
>
> Equipo, Propiedad, Valor Anterior, Valor Actual, Fecha
>
> Intente hacerlo con IPreUpdateEventListener que esta re bueno porque tiene
> State y OldState pero resulta que como Properties es una coleccion el
> listener PreUpdate no se activa al hacer cambios en la coleccion.
> Hasta que llegue al IPreCollectionUpdateEventListener que efectivamente se
> ejecuta antes de guardar la coleccion.
> Ahora, no encuentro una forma de saber el "viejo" valor de la propiedad
> Value de cada elemento de la coleccion.
> Vi que  en OnPreUpdateCollection(PreCollectionUpdateEvent e) el evento tiene
> informacion de la coleccion en un IPersistentCollection y que ese
> persistentCollection tiene metodos GetSnapshot, etc pero todos me piden un
> ICollectionPersister como parametro.
> Ahi es donde no se que mas hacer.
>
> Alguien me puede tirar una mano con esto?
>
> Saludos
>
> Jose Ramirez

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a