los elemento de la collection entran en IPreUpdateEventListener si necesitan un update.
El 17 de diciembre de 2009 14:00, Jose Ramirez <[email protected]> escribió: > 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 -- Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
