private EntityCollection LoadEntityCollection(ImportParameters parameters, EntitySchema rootSchema, IEnumerable <ColumnExpression> expressions)
        {
            var entityCollection = new EntityCollection(UserConnection, rootSchema);
            var query            = rootSchema.CreateSelect(UserConnection, rootSchema.Columns, true, out var columnMapping);

            AddJoinToBufferedTable(query, expressions, columnMapping);
            AddSessionIdCondition(parameters.ImportSessionId, query);
            using (var dbExecutor = UserConnection.EnsureDBConnection()) {
                using (var dataReader = query.ExecuteReader(dbExecutor)) {
                    entityCollection.Load(dataReader, columnMapping);
                }
            }
            return(entityCollection);
        }