Ρίξε μια ματιά στους Interceptors. To IInterceptor είναι ένα Interface το οποίο σου επιτρέπει να επέμβεις στο OnLoad, OnDelete, OnSave κλπ. Μπορείς να το ορίσεις σε επίπεδο Session:
ISession session = sf.OpenSession( new SpringInterceptor() );
ή global
new Configuration().SetInterceptor( new SpringInterceptor() );
Η OnLoad μέθοδος σου περνάει το νέο αντικείμενο ως object, οπότε υποθέτω ότι θα μπορείς να το χρησιμοποιήσεις για να εφαρμόσεις advice με το ProxyFactory. Δεν το έχω κάνει όμως, οπότε δεν μπορώ να ορκιστώ τίποτε. Μπορεί μάλιστα να υπάρχει και άλλος ευκολότερος τρόπος. Ίσως στο NHibernate forum να έχουν ήδη κάνει την ερώτηση.
Αναρωτιέμαι αν μπορείς να κάνεις το ίδιο και με το Policy Injection Block του Enterprise Library? Και αυτό επιτρέπει να κάνεις Wrap ένα ήδη υπάρχον αντικείμενο και να του προσθέσεις policies ... Χμμμμ
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos