예제 #1
0
 internal override SqlExpression VisitUserColumn(SqlUserColumn suc)
 {
     if (this.ingoreExternalRefs && !this.nodeMap.ContainsKey(suc))
     {
         return(suc);
     }
     return(new SqlUserColumn(suc.ClrType, suc.SqlType, suc.Query, suc.Name, suc.IsRequired, suc.SourceExpression));
 }
예제 #2
0
            internal override SqlExpression VisitUserColumn(SqlUserColumn suc)
            {
                SqlExpression expr = base.VisitUserColumn(suc);

                if (expr == suc)
                {
                    return(ExtractParameter(expr));
                }
                return(expr);
            }
예제 #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
파일: SqlVisitor.cs 프로젝트: zyj0021/ALinq
 internal virtual SqlExpression VisitUserColumn(SqlUserColumn suc)
 {
     return(suc);
 }