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