Penso che questa sia una domanda facile, ma il mio googlare su Google è debole.NHibernate: significato di intercettazione valore di ritorno
Ho avuto il problema descritto nel seguente collegamento per quanto riguarda un ID generato e cascata:
https://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html (verso il basso)
ho riparato usando il loro metodo suggerito di un intercettatore. Tutto sembra funzionare, quindi sono felice.
Detto questo, non ho idea di che cosa il significato del valore di ritorno è da metodi quali:
public override bool OnLoad(object entity, object id, object[] state, string[] propertyNames, IType[] types)
{
if (entity is Persistent) ((Persistent)entity).OnLoad();
return false;
}
public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types)
{
if (entity is Persistent) ((Persistent)entity).OnSave();
return false;
}
In entrambi i casi viene restituito false.
Quando google su NHibernate Interceptors vedo un sacco di esempi su come scriverne uno. Alcuni invece restituiscono true (http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx). Non ho idea di quale sia la differenza qui. Il mio codice funziona, ma gli Interceptor mi sembrano utili, quindi mi piacerebbe avere una comprensione migliore.
btw, l'intercettatore viene interrotto e sostituito con il sistema di eventi. Sfortunatamente, il sistema degli eventi è ancora meno documentato. Ma dovresti comunque trovare qualche documentazione utile. –