NHibernate Interceptor Auditing ID de objeto insertado

Estoy usando los interceptores NHibernate para registrar información sobre actualizaciones / inserciones / eliminaciones en mis diversas entidades.

Incluido en la información registrada está el Tipo de entidad y el ID único de la entidad modificada. El ID único está marcado como<generator class="identity"> en el archivo de mapeo NHibernate.

El problema obvio es cuando se registra una operación Insertar usando IInterceptor.OnSave () el ID de la entidad aún no se ha asignado.

¿Cómo puedo obtener el ID de la entidad insertada antes de registrar la información de auditoría?

(He examinado el evento PostSave de NHibernate Listeners pero no puedo hacer que funcionen con la configuración Spring.net que se está utilizando, por lo que me gustaría seguir con los interceptores si es posible)

Código

    // object id parameter is null...
    public override bool OnSave(object entity, object id, object[] state, 
        string[] propertyNames, IType[] types)
    {            
        AddAuditItem(entity, INSERT);
        return false;            
    }

Respuestas a la pregunta(4)

Su respuesta a la pregunta