private ISession GetSession(SessionAndTransactionManager sm)
        {
            ISession sess = sm.GetSession();

            TransactionStrategy.OnSessionUsed(sm);
            return(sess);
        }
 internal sealed override void OnSessionUsed(SessionAndTransactionManager sm)
 {
     if(!sm.Transaction.InTransaction)
         sm.Transaction.Begin(sm.GetSession());
 }
 internal abstract void OnSessionUsed(SessionAndTransactionManager sm);
 internal override void OnSessionUsed(SessionAndTransactionManager sm)
 {
 }
	    private ISession GetSession(SessionAndTransactionManager sm)
		{
			ISession sess = sm.GetSession();
			TransactionStrategy.OnSessionUsed(sm);
			return sess;
		}