private void ExecuteActionOnThreadSeparatedSessionWithNoConcurrencyTracking(Action<ISession> work) { using (var session = sessionFactoryProvider.OpenSession(false)) { try { lock (this) { work(session); } } finally { session.Close(); } } }