/// <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(); } } }