@@ -111,6 +111,7 @@ public static ExpressionToHqlTranslationResults GenerateHqlQuery(QueryModel quer
111
111
}
112
112
113
113
private readonly IntermediateHqlTree _hqlTree ;
114
+ private readonly HashSet < Expression > _hqlCandidates ;
114
115
private readonly NhLinqExpressionReturnType ? _rootReturnType ;
115
116
private static readonly ResultOperatorMap ResultOperatorMap ;
116
117
private bool _serverSide = true ;
@@ -165,6 +166,7 @@ private QueryModelVisitor(VisitorParameters visitorParameters, bool root, QueryM
165
166
_root = root ;
166
167
_rootReturnType = root ? rootReturnType : null ;
167
168
_hqlTree = new IntermediateHqlTree ( root , _queryMode ) ;
169
+ _hqlCandidates = new HashSet < Expression > ( ) ;
168
170
}
169
171
170
172
private void Visit ( )
@@ -476,7 +478,7 @@ public override void VisitSelectClause(SelectClause selectClause, QueryModel que
476
478
477
479
private HqlSelect GetSelectClause ( Expression selectClause )
478
480
{
479
- var visitor = new SelectClauseVisitor ( typeof ( object [ ] ) , VisitorParameters ) ;
481
+ var visitor = new SelectClauseVisitor ( typeof ( object [ ] ) , VisitorParameters , _hqlCandidates ) ;
480
482
481
483
visitor . VisitSelector ( selectClause , ! _root ) ;
482
484
@@ -537,7 +539,7 @@ private void VisitDeleteClause(Expression expression)
537
539
return ;
538
540
539
541
// We only need to check there is no unexpected select, for avoiding silently ignoring them.
540
- var visitor = new SelectClauseVisitor ( typeof ( object [ ] ) , VisitorParameters ) ;
542
+ var visitor = new SelectClauseVisitor ( typeof ( object [ ] ) , VisitorParameters , new HashSet < Expression > ( ) ) ;
541
543
visitor . VisitSelector ( expression ) ;
542
544
543
545
if ( visitor . ProjectionExpression != null )
@@ -566,6 +568,7 @@ public override void VisitOrderByClause(OrderByClause orderByClause, QueryModel
566
568
: ( HqlDirectionStatement ) _hqlTree . TreeBuilder . Descending ( ) ;
567
569
568
570
_hqlTree . AddOrderByClause ( orderBy , direction ) ;
571
+ _hqlCandidates . Add ( clause . Expression ) ;
569
572
}
570
573
}
571
574
0 commit comments