Inheritance: SqlSubqueryExpression
        protected override Expression VisitScalar(SqlScalarExpression expression)
        {
            SqlScalarExpression current;
            if (!TryGetCurrent(expression, out current))
            {
                return expression;
            }

            if (!(this.result &= current.NodeType == expression.NodeType))
            {
                return expression;
            }

            if (!(this.result &= current.Type == expression.Type))
            {
                return expression;
            }

            this.currentObject = current.Select;
            this.VisitSelect(expression.Select);
            if (!this.result)
            {
                return expression;
            }

            this.currentObject = current;
            return expression;
        }
Esempio n. 2
0
		protected virtual Expression VisitScalar(SqlScalarExpression expression)
		{
			var select = this.Visit(expression.Select);

			if (select != expression.Select)
			{
				return expression.ChangeSelect((SqlSelectExpression)select);
			}

			return expression;
		}