Exemple #1
0
 protected internal override Expression VisitScalar(ScalarExpression scalar)
 {
     if (!scalar.Select !.IsForXmlPathEmpty)
     {
         using (Scope())
             return(base.VisitScalar(scalar));
     }
 protected internal override Expression VisitScalar(ScalarExpression exists)
 {
     sb.Append("(");
     this.Visit(exists.Select);
     sb.Append(")");
     return(exists);
 }
Exemple #3
0
        protected internal virtual Expression VisitScalar(ScalarExpression scalar)
        {
            var select = (SelectExpression)this.Visit(scalar.Select);

            if (select != scalar.Select)
            {
                return(new ScalarExpression(scalar.Type, select));
            }
            return(scalar);
        }
        protected internal override Expression VisitScalar(ScalarExpression scalar)
        {
            var column = scalar.Select.Columns.SingleEx();

            VisitColumn(new ColumnExpression(scalar.Type, scalar.Select.Alias, column.Name ?? "-"));

            var select = (SelectExpression)this.Visit(scalar.Select);

            if (select != scalar.Select)
            {
                return(new ScalarExpression(scalar.Type, select));
            }
            return(scalar);
        }
Exemple #5
0
 protected internal override Expression VisitScalar(ScalarExpression scalar)
 {
     if (connector.SupportsScalarSubquery &&
         (!inAggregate || connector.SupportsScalarSubqueryInAggregates))
     {
         return(base.VisitScalar(scalar));
     }
     else
     {
         var select = scalar.Select;
         if (string.IsNullOrEmpty(select.Columns[0].Name))
         {
             select = new SelectExpression(select.Alias, select.IsDistinct, select.Top,
                                           new[] { new ColumnDeclaration("scalar", select.Columns[0].Expression) },
                                           select.From, select.Where, select.OrderBy, select.GroupBy, select.SelectOptions);
         }
         this.currentFrom = new JoinExpression(JoinType.OuterApply, this.currentFrom, select, null);
         return(new ColumnExpression(scalar.Type, scalar.Select.Alias, select.Columns[0].Name));
     }
 }
Exemple #6
0
        protected internal override Expression VisitScalar(ScalarExpression scalar)
        {
            if (!scalar.Select.IsForXmlPathEmpty)
            {
                using (Scope())
                    return(base.VisitScalar(scalar));
            }
            else
            {
                using (Scope())
                {
                    var oldOuterMostSelect = outerMostSelect;
                    outerMostSelect = scalar.Select;

                    var result = base.VisitScalar(scalar);
                    outerMostSelect = oldOuterMostSelect;

                    return(result);
                }
            }
        }
 protected internal override Expression VisitScalar(ScalarExpression scalar)
 {
     return(scalar);
 }
Exemple #8
0
 protected virtual bool CompareScalar(ScalarExpression a, ScalarExpression b)
 {
     return(Compare(a.Select, b.Select));
 }
Exemple #9
0
        protected internal override Expression VisitScalar(ScalarExpression scalar)
        {
            AddSingleColumn(scalar);

            return(base.VisitScalar(scalar));
        }