public EntityLoader(
			IOuterJoinLoadable persister,
			string[] uniqueKey,
			IType uniqueKeyType,
			int batchSize,
			LockMode lockMode,
			ISessionFactoryImplementor factory,
			IDictionary enabledFilters)
			: base(persister, uniqueKeyType, factory, enabledFilters)
		{
			JoinWalker walker = new EntityJoinWalker(
				persister,
				uniqueKey,
				uniqueKeyType,
				batchSize,
				lockMode,
				factory,
				enabledFilters
				);
			InitFromWalker(walker);

			PostInstantiate();

			batchLoader = batchSize > 1;

			log.Debug("Static select for entity " + entityName + ": " + SqlString);
		}
        public EntityLoader(IOuterJoinLoadable persister, string[] uniqueKey, IType uniqueKeyType, int batchSize,
                            LockMode lockMode, ISessionFactoryImplementor factory, IDictionary <string, IFilter> enabledFilters)
            : base(persister, uniqueKeyType, factory, enabledFilters)
        {
            JoinWalker walker = new EntityJoinWalker(persister, uniqueKey, batchSize, lockMode, factory, enabledFilters);

            InitFromWalker(walker);

            PostInstantiate();

            batchLoader = batchSize > 1;

            log.Debug("Static select for entity {0}: {1}", entityName, SqlString);
        }
		public CollectionElementLoader(IQueryableCollection collectionPersister, ISessionFactoryImplementor factory, IDictionary<string, IFilter> enabledFilters)
			: base(factory, enabledFilters)
		{
			keyType = collectionPersister.KeyType;
			indexType = collectionPersister.IndexType;
			persister = (IOuterJoinLoadable)collectionPersister.ElementPersister;
			entityName = persister.EntityName;

			JoinWalker walker = new EntityJoinWalker(persister, ArrayHelper.Join(collectionPersister.KeyColumnNames, collectionPersister.IndexColumnNames), 1, LockMode.None, factory, enabledFilters);
			InitFromWalker(walker);

			PostInstantiate();

			log.Debug("Static select for entity " + entityName + ": " + SqlString);
		}
        public CollectionElementLoader(IQueryableCollection collectionPersister, ISessionFactoryImplementor factory,
                                       IDictionary <string, IFilter> enabledFilters) : base(factory, enabledFilters)
        {
            keyType    = collectionPersister.KeyType;
            indexType  = collectionPersister.IndexType;
            persister  = (IOuterJoinLoadable)collectionPersister.ElementPersister;
            entityName = persister.EntityName;

            JoinWalker walker =
                new EntityJoinWalker(persister,
                                     ArrayHelper.Join(collectionPersister.KeyColumnNames, collectionPersister.IndexColumnNames), 1,
                                     LockMode.None, factory, enabledFilters);

            InitFromWalker(walker);

            PostInstantiate();

            log.Debug("Static select for entity " + entityName + ": " + SqlString);
        }