private void CreateSubQuerySpaces() { var subQueries = rootCriteria.IterateExpressionEntries() .Select(x => x.Criterion) .OfType <SubqueryExpression>() .Select(x => x.Criteria) .OfType <CriteriaImpl>(); foreach (var criteriaImpl in subQueries) { //The RootSqlAlias is not relevant, since we're only retreiving the query spaces var translator = new CriteriaQueryTranslator(sessionFactory, criteriaImpl, criteriaImpl.EntityOrClassName, RootSqlAlias); subQuerySpaces.UnionWith(translator.GetQuerySpaces()); (subPersisters = subPersisters ?? new HashSet <IPersister>()).UnionWith(translator.GetPersisters()); } }
internal override bool IsCacheable(QueryParameters queryParameters) { return(IsCacheable(queryParameters, translator.SupportsQueryCache, translator.GetPersisters())); }