File tree Expand file tree Collapse file tree 1 file changed +13
-3
lines changed
src/MongoDB.Driver/Linq/Processors Expand file tree Collapse file tree 1 file changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -163,9 +163,7 @@ private BinaryExpression EnsureConstantIsOnRight(BinaryExpression node)
163163 var left = node . Left ;
164164 var right = node . Right ;
165165 var operatorType = node . NodeType ;
166- if ( left . NodeType == ExpressionType . Constant ||
167- ( left . NodeType == ExpressionType . Convert && ( ( UnaryExpression ) left ) . Operand . NodeType == ExpressionType . Constant ) ||
168- ( left . NodeType == ExpressionType . ConvertChecked && ( ( UnaryExpression ) left ) . Operand . NodeType == ExpressionType . Constant ) )
166+ if ( RemoveUnnecessaries ( left ) . NodeType == ExpressionType . Constant )
169167 {
170168 right = node . Left ;
171169 left = node . Right ;
@@ -209,5 +207,17 @@ private Expression VisitVBCompilerServicesOperatorsCompareString(MethodCallExpre
209207
210208 return null ;
211209 }
210+
211+ private Expression RemoveUnnecessaries ( Expression node )
212+ {
213+ while ( node . NodeType == ExpressionType . Convert ||
214+ node . NodeType == ExpressionType . ConvertChecked ||
215+ node . NodeType == ExpressionType . Quote )
216+ {
217+ node = ( ( UnaryExpression ) node ) . Operand ;
218+ }
219+
220+ return node ;
221+ }
212222 }
213223}
You can’t perform that action at this time.
0 commit comments