Пример #1
0
 // Methods
 internal SqlUserColumn(Type clrType, IProviderType sqlType, SqlUserQuery query, string name, bool isRequired, Expression source)
     : base(SqlNodeType.UserColumn, clrType, sqlType, source)
 {
     this.Query      = query;
     this.name       = name;
     this.isRequired = isRequired;
 }
Пример #2
0
            internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq)
            {
                bool topLevel = this.topLevel;

                this.topLevel = false;
                int num   = 0;
                int count = suq.Arguments.Count;

                while (num < count)
                {
                    suq.Arguments[num] = this.VisitParameter(suq.Arguments[num]);
                    num++;
                }
                this.topLevel  = topLevel;
                suq.Projection = this.VisitExpression(suq.Projection);
                return(suq);
            }
Пример #3
0
            internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq)
            {
                List <SqlExpression> args = new List <SqlExpression>(suq.Arguments.Count);

                foreach (SqlExpression expression in suq.Arguments)
                {
                    args.Add(this.VisitExpression(expression));
                }
                SqlExpression projection = this.VisitExpression(suq.Projection);
                SqlUserQuery  query      = new SqlUserQuery(suq.QueryText, projection, args, suq.SourceExpression);

                this.nodeMap[suq] = query;
                foreach (SqlUserColumn column in suq.Columns)
                {
                    SqlUserColumn item = new SqlUserColumn(column.ClrType, column.SqlType, column.Query, column.Name, column.IsRequired, column.SourceExpression);
                    this.nodeMap[column] = item;
                    query.Columns.Add(item);
                }
                return(query);
            }
Пример #4
0
        internal virtual SqlUserQuery VisitUserQuery(SqlUserQuery suq)
        {
            int num   = 0;
            int count = suq.Arguments.Count;

            while (num < count)
            {
                suq.Arguments[num] = this.VisitExpression(suq.Arguments[num]);
                num++;
            }
            suq.Projection = this.VisitExpression(suq.Projection);
            int num3 = 0;
            int num4 = suq.Columns.Count;

            while (num3 < num4)
            {
                suq.Columns[num3] = (SqlUserColumn)this.Visit(suq.Columns[num3]);
                num3++;
            }
            return(suq);
        }
Пример #5
0
 internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq)
 {
     this.canJoin = false;
     return(base.VisitUserQuery(suq));
 }
Пример #6
0
 // Methods
 internal SqlUserRow(MetaType rowType, IProviderType sqlType, SqlUserQuery query, Expression source)
     : base(SqlNodeType.UserRow, rowType.Type, sqlType, source)
 {
     this.Query   = query;
     this.rowType = rowType;
 }