Esempio n. 1
0
        protected internal override Expression VisitSqlCast(SqlCastExpression castExpr)
        {
            var expression = MakeSqlValue(Visit(castExpr.Expression));

            if (expression != castExpr.Expression)
            {
                return(new SqlCastExpression(castExpr.Type, expression, castExpr.SqlDbType));
            }
            return(castExpr);
        }
Esempio n. 2
0
        protected internal virtual Expression VisitSqlCast(SqlCastExpression castExpr)
        {
            var expression = Visit(castExpr.Expression);

            if (expression != castExpr.Expression)
            {
                return(new SqlCastExpression(castExpr.Type, expression, castExpr.DbType));
            }
            return(castExpr);
        }
Esempio n. 3
0
 protected internal override Expression VisitSqlCast(SqlCastExpression castExpr)
 {
     sb.Append("CAST(");
     Visit(castExpr.Expression);
     sb.Append(" as ");
     sb.Append(castExpr.SqlDbType.ToString().ToUpperInvariant());
     if (castExpr.SqlDbType == SqlDbType.NVarChar || castExpr.SqlDbType == SqlDbType.VarChar)
     {
         sb.Append("(MAX)");
     }
     sb.Append(")");
     return(castExpr);
 }
Esempio n. 4
0
        protected internal override Expression VisitSqlCast(SqlCastExpression castExpr)
        {
            sb.Append("CAST(");
            Visit(castExpr.Expression);
            sb.Append(" as ");
            sb.Append(castExpr.DbType.ToString(schema.Settings.IsPostgres));

            if (!schema.Settings.IsPostgres && (castExpr.DbType.SqlServer == SqlDbType.NVarChar || castExpr.DbType.SqlServer == SqlDbType.VarChar))
            {
                sb.Append("(MAX)");
            }

            sb.Append(')');
            return(castExpr);
        }
Esempio n. 5
0
        protected internal override Expression VisitSqlCast(SqlCastExpression castExpr)
        {
            var expression = Visit(castExpr.Expression);

            if (expression.Type.UnNullify() == typeof(bool) && castExpr.Type.UnNullify() != typeof(int))
            {
                return(new SqlCastExpression(castExpr.Type, new SqlCastExpression(typeof(int), expression), castExpr.DbType));
            }

            if (expression != castExpr.Expression)
            {
                return(new SqlCastExpression(castExpr.Type, expression, castExpr.DbType));
            }

            return(castExpr);
        }
Esempio n. 6
0
 protected virtual bool CompareSqlCast(SqlCastExpression a, SqlCastExpression b)
 {
     return(a.DbType.Equals(b.DbType) &&
            Compare(a.Expression, b.Expression));
 }
Esempio n. 7
0
 protected virtual bool CompareSqlCast(SqlCastExpression a, SqlCastExpression b)
 {
     return(a.SqlDbType == b.SqlDbType &&
            Compare(a.Expression, b.Expression));
 }