Beispiel #1
0
        protected internal virtual Expression VisitSqlFunction(SqlFunctionExpression sqlFunction)
        {
            Expression obj = Visit(sqlFunction.Object);
            ReadOnlyCollection <Expression> args = Visit(sqlFunction.Arguments);

            if (args != sqlFunction.Arguments || obj != sqlFunction.Object)
            {
                return(new SqlFunctionExpression(sqlFunction.Type, obj, sqlFunction.SqlFunction, args));
            }
            return(sqlFunction);
        }
Beispiel #2
0
        protected internal override Expression VisitSqlFunction(SqlFunctionExpression sqlFunction)
        {
            Expression obj = MakeSqlValue(Visit(sqlFunction.Object));
            ReadOnlyCollection <Expression> args = Visit(sqlFunction.Arguments, a => MakeSqlValue(Visit(a)));

            if (args != sqlFunction.Arguments || obj != sqlFunction.Object)
            {
                return(new SqlFunctionExpression(sqlFunction.Type, obj, sqlFunction.SqlFunction, args));
            }
            return(sqlFunction);
        }
        protected internal override Expression VisitSqlFunction(SqlFunctionExpression sqlFunction)
        {
            if (sqlFunction.Object != null)
            {
                Visit(sqlFunction.Object);
                sb.Append(".");
            }
            sb.Append(sqlFunction.SqlFunction);
            sb.Append("(");
            for (int i = 0, n = sqlFunction.Arguments.Count; i < n; i++)
            {
                Expression exp = sqlFunction.Arguments[i];
                if (i > 0)
                {
                    sb.Append(", ");
                }
                this.Visit(exp);
            }
            sb.Append(")");

            return(sqlFunction);
        }
Beispiel #4
0
 protected virtual bool CompareSqlFunction(SqlFunctionExpression a, SqlFunctionExpression b)
 {
     return(a.SqlFunction == b.SqlFunction &&
            Compare(a.Object, b.Object) &&
            CompareList(a.Arguments, b.Arguments, Compare));
 }