public IADOPersister CreateADOPersister(IInitializationStrategy initializationStrategy, Action<IPersistenceValidationContext> initializationAction)
        {
            var adoPersister = new global::NHibernateContext.ADOPersister.ADOPersister(NHibernateSessionManager);


            var actualInitializationStrategy = initializationStrategy ?? DefaultInitializationStrategy(adoPersister);
            var actualInitializationAction = initializationAction ?? DefaultInitializationAction();


            var persistenceValidationContext = new PersistenceValidationContext(actualInitializationStrategy);

            actualInitializationAction.Invoke(persistenceValidationContext);

            persistenceValidationContext.EnsureNotEmpty();


            adoPersister.Apply(persistenceValidationContext);

            return adoPersister;
        }
        public IADOPersister CreateADOPersister(IInitializationStrategy initializationStrategy, Action <IPersistenceValidationContext> initializationAction)
        {
            var adoPersister = new global::NHibernateContext.ADOPersister.ADOPersister(NHibernateSessionManager);


            var actualInitializationStrategy = initializationStrategy ?? DefaultInitializationStrategy(adoPersister);
            var actualInitializationAction   = initializationAction ?? DefaultInitializationAction();


            var persistenceValidationContext = new PersistenceValidationContext(actualInitializationStrategy);

            actualInitializationAction.Invoke(persistenceValidationContext);

            persistenceValidationContext.EnsureNotEmpty();


            adoPersister.Apply(persistenceValidationContext);

            return(adoPersister);
        }