Example #1
0
        internal static string ToSqlInternal(this SqlStatement sql, SqlDialect dialect = null, Action <SqlParameter> parameterCallback = null)
        {
            if (sql == null)
            {
                throw new ArgumentNullException(nameof(sql));
            }
            dialect = dialect ?? SqlDialect.Current;

            StringBuilder builder = new StringBuilder();

            using (SqlWriter writer = new SqlWriter(builder, dialect))
            {
                var visitor = new SqlWriterVisitor(writer)
                {
                    ParameterVisited = parameterCallback
                };

                sql.Accept(visitor);
            }

            return(builder.ToString());
        }
        private static string ToSqlInternal(this SqlStatement sql, Action<SqlParameter> parameterAction = null)
        {
            if (sql == null) throw new ArgumentNullException("sql");

            StringBuilder builder = new StringBuilder();
            using (SqlWriter writer = new SqlWriter(builder))
            {
                SqlWriterVisitor visitor = new SqlWriterVisitor(writer);
                visitor.ParameterVisited = parameterAction;
                visitor.Visit(sql);
            }

            return builder.ToString();
        }