protected virtual void DoInNewSessionAndTransaction(Action<ISession> action) { using(var session=factory.OpenSession()) using(var trans=session.BeginTransaction()) { action(session); trans.Commit(); } }