public Expression VisitNamedExpression (NamedExpression expression)
{
var newInnerExpression = VisitExpression (expression.Expression);
if (newInnerExpression is SqlConvertedBooleanExpression)
{
var convertedBooleanExpression = (SqlConvertedBooleanExpression) newInnerExpression;
var innerNamedExpression = new NamedExpression (expression.Name, convertedBooleanExpression.Expression);
return VisitExpression (new SqlConvertedBooleanExpression (innerNamedExpression));
}
if (newInnerExpression != expression.Expression)
return new NamedExpression (expression.Name, newInnerExpression);
return expression;
}