Q:

Is a NHibernate Session cascade (all) in a transaction?

I have a nhibernate cascade one-to-many relationship  . Correct me if I am wrong . In case cascade="all" , NHibernate implicitly update or save childrens in the object graph . The implicit save/update  is done when session Flush() . Are all the implicit save/update done in one single hidden transaction  ?  What will happen if implicit save/updates was interrupted partially  ?

A:

NHibernate doesn't open a transaction for you, if you don't. The implicit transaction that's there is the transaction that occurs on every statement (or batch of statements) that hit the database. So answer to your question is ... no.
Implicit transactions, are of course, discouraged.
http://nhprof.com/Learn/Alerts/DoNotUseImplicitTransactions

