public override DbExpression Visit(DbQuantifierExpression expression) { Check.NotNull(expression, "expression"); DbExpression result = expression; var input = VisitExpressionBindingEnterScope(expression.Input); var predicate = VisitExpression(expression.Predicate); ExitScope(); if (!ReferenceEquals(expression.Input, input) || !ReferenceEquals(expression.Predicate, predicate)) { if (DbExpressionKind.All == expression.ExpressionKind) { result = CqtBuilder.All(input, predicate); } else { Debug.Assert( expression.ExpressionKind == DbExpressionKind.Any, "DbQuantifierExpression had ExpressionKind other than All or Any?"); result = CqtBuilder.Any(input, predicate); } } NotifyIfChanged(expression, result); return(result); }