// 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; }
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); }
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); }
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); }
internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq) { this.canJoin = false; return(base.VisitUserQuery(suq)); }
// Methods internal SqlUserRow(MetaType rowType, IProviderType sqlType, SqlUserQuery query, Expression source) : base(SqlNodeType.UserRow, rowType.Type, sqlType, source) { this.Query = query; this.rowType = rowType; }