示例#1
0
 protected override Expression VisitSubquery(SubqueryExpression subquery)
 {
     if (((subquery.NodeType == ((ExpressionType)0x3f0)) || (subquery.NodeType == ((ExpressionType)0x3f2))) && (subquery.Select != null))
     {
         Debug.Assert(subquery.Select.Columns.Count == 1);
         this.MarkColumnAsUsed(subquery.Select.Alias, subquery.Select.Columns[0].Name);
     }
     return(base.VisitSubquery(subquery));
 }
        protected override Expression VisitSubquery(SubqueryExpression subquery)
        {
            IList <OrderExpression> gatheredOrderings = this.gatheredOrderings;

            this.gatheredOrderings = null;
            Expression expression = base.VisitSubquery(subquery);

            this.gatheredOrderings = gatheredOrderings;
            return(expression);
        }
示例#3
0
        protected virtual Expression VisitSubquery(SubqueryExpression subquery)
        {
            switch (subquery.NodeType)
            {
            case ((ExpressionType)0x3f0):
                return(this.VisitScalar((ScalarExpression)subquery));

            case ((ExpressionType)0x3f1):
                return(this.VisitExists((ExistsExpression)subquery));

            case ((ExpressionType)0x3f2):
                return(this.VisitIn((InExpression)subquery));
            }
            return(subquery);
        }
        protected virtual bool CompareSubquery(SubqueryExpression a, SubqueryExpression b)
        {
            if (a.NodeType == b.NodeType)
            {
                switch (a.NodeType)
                {
                case ((ExpressionType)0x3f0):
                    return(this.CompareScalar((ScalarExpression)a, (ScalarExpression)b));

                case ((ExpressionType)0x3f1):
                    return(this.CompareExists((ExistsExpression)a, (ExistsExpression)b));

                case ((ExpressionType)0x3f2):
                    return(this.CompareIn((InExpression)a, (InExpression)b));
                }
            }
            return(false);
        }
 protected override Expression VisitSubquery(SubqueryExpression subquery)
 {
     return(subquery);
 }