Вы можете создать новый SaveOrUpdateEventListener:
public class DateTimeSaveOrUpdateEventListener : DefaultSaveOrUpdateEventListener
{
protected override object EntityIsPersistent(SaveOrUpdateEvent @event)
{
MyEntity ent = @event.Entity as MyEntity;
if(ent != null)
ent.LastUpdate = DateTime.Now;
return base.EntityIsPersistent(@event);
}
protected override object EntityIsTransient(SaveOrUpdateEvent @event)
{
MyEntity ent = @event.Entity as MyEntity;
if(ent != null)
ent.LastUpdate = DateTime.Now;
return base.EntityIsTransient(@event);
}
}
и зарегистрируйте его в вашей конфигурации следующим образом:
var listener = new DateTimeSaveOrUpdateEventListener();
config.SetListener(NHibernate.Event.ListenerType.SaveUpdate, listener);
config.SetListener(NHibernate.Event.ListenerType.Save, listener);