2009-06-25 8 views

Répondre

1

Jetez un oeil à IInterceptor NHibernate.

OnFlushDirty - affichera les propriétés persistantes sur un objet mis à jour. OnSave - affiche les propriétés persistantes sur un objet enregistré.

Vous avez juste besoin de créer une classe d'intercepteurs qui implémente cette interface, et lorsque vous configurez votre session NHibernate, dites-lui d'utiliser cette classe.

Here is a fairly good article to help you get started

1

Je pense que Interceptor sont un peu obsolètes. Еrying pour utiliser NHibernate Events. Je me suis abonné à l'événement OnPreUpdate. Son paramètre a les propriétés State et OldState, mais OldState est toujours nul. Est-ce que quelqu'un sait que OldState fonctionne?

+1

Si vous appelez 'session.Merge (yourUnsavedObject)' NHibernate chargera d'abord l'entité, puis appliquera les modifications de l'objet non enregistré. Ce processus remplira alors OldValues. Ceci utilise la version 3.1. Je crois que les versions précédentes utilisaient SaveOrUpdateCopy(). –

Questions connexes