Beispiel #1
0
        protected override Expression VisitNew(NewExpression expression)
        {
            var projections = new SqlProjectionExpression[expression.Arguments.Count];
            for (int i = 0; i < expression.Arguments.Count; i++)
            {
                Visit(expression.Arguments[i]);
                projections[i] = new SqlProjectionExpression((SqlColumnExpression) ast.Pop(), expression.Members[i].Name);
            }

            ast.Push(new SqlSelectExpression(projections));
            return expression;
        }
Beispiel #2
0
 protected virtual SqlExpression Visit(SqlProjectionExpression expression)
 {
     return new SqlProjectionExpression((SqlColumnExpression) Visit(expression.From), expression.To);
 }
Beispiel #3
0
 string FormatProjection(SqlProjectionExpression expression)
 {
     return string.Format("{0} AS {1}", expression.From.ColumnName, expression.To);
 }