internal SqlUserColumn(Type clrType, ProviderType sqlType, SqlUserQuery query, string name, bool isRequired, Expression source) : base(SqlNodeType.UserColumn, clrType, sqlType, source) { Query = query; this.name = name; this.isRequired = isRequired; }
internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq) { bool saveTop = this.topLevel; this.topLevel = false; for (int i = 0, n = suq.Arguments.Count; i < n; i++) { suq.Arguments[i] = this.VisitParameter(suq.Arguments[i]); } this.topLevel = saveTop; suq.Projection = this.VisitExpression(suq.Projection); return(suq); }
internal virtual SqlUserQuery VisitUserQuery(SqlUserQuery suq) { for (int i = 0, n = suq.Arguments.Count; i < n; i++) { suq.Arguments[i] = this.VisitExpression(suq.Arguments[i]); } suq.Projection = this.VisitExpression(suq.Projection); for (int i = 0, n = suq.Columns.Count; i < n; i++) { suq.Columns[i] = (SqlUserColumn)this.Visit(suq.Columns[i]); } return(suq); }
internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq) { var list = new List <SqlExpression>(suq.Arguments.Count); foreach (var argument in suq.Arguments) { list.Add(VisitExpression(argument)); } SqlExpression projection = VisitExpression(suq.Projection); var sqlUserQuery = new SqlUserQuery(suq.QueryText, projection, list, suq.SourceExpression); nodeMap[suq] = sqlUserQuery; foreach (var column in suq.Columns) { var sqlUserColumn = new SqlUserColumn(column.ClrType, column.SqlType, column.Query, column.Name, column.IsRequired, column.SourceExpression); nodeMap[column] = sqlUserColumn; sqlUserQuery.Columns.Add(sqlUserColumn); } return(sqlUserQuery); }
internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq) { List <SqlExpression> args = new List <SqlExpression>(suq.Arguments.Count); foreach (SqlExpression expr in suq.Arguments) { args.Add(this.VisitExpression(expr)); } SqlExpression projection = this.VisitExpression(suq.Projection); SqlUserQuery n = new SqlUserQuery(suq.QueryText, projection, args, suq.SourceExpression); this.nodeMap[suq] = n; foreach (SqlUserColumn suc in suq.Columns) { SqlUserColumn dupSuc = new SqlUserColumn(suc.ClrType, suc.SqlType, suc.Query, suc.Name, suc.IsRequired, suc.SourceExpression); this.nodeMap[suc] = dupSuc; n.Columns.Add(dupSuc); } return(n); }
internal override SqlUserQuery VisitUserQuery(SqlUserQuery suq) { this.canJoin = false; return(base.VisitUserQuery(suq)); }
internal SqlUserRow(MetaType rowType, ProviderType sqlType, SqlUserQuery query, Expression source) : base(SqlNodeType.UserRow, rowType.Type, sqlType, source) { Query = query; this.rowType = rowType; }