Exemple #1
0
        /// <summary>
        /// Return the query results of all the queries
        /// </summary>
        public IList List()
        {
            using (session.BeginProcess())
            {
                bool cacheable = session.Factory.Settings.IsQueryCacheEnabled && isCacheable;
                combinedParameters = CreateCombinedQueryParameters();

                if (log.IsDebugEnabled())
                {
                    log.Debug("Multi query with {0} queries.", queries.Count);
                    for (int i = 0; i < queries.Count; i++)
                    {
                        log.Debug("Query #{0}: {1}", i, queries[i]);
                    }
                }

                try
                {
                    Before();

                    var querySpaces = new HashSet <string>(Translators.SelectMany(t => t.QuerySpaces));
                    if (resultSetsCommand.HasQueries)
                    {
                        session.AutoFlushIfRequired(querySpaces);
                    }

                    return(cacheable ? ListUsingQueryCache(querySpaces) : ListIgnoreQueryCache());
                }
                finally
                {
                    After();
                }
            }
        }