public void GetSql(DbTarget db_target, ref StringBuilder sql) { int count = _items.Count; string concatOperator = " + "; if (db_target == DbTarget.MySql) { sql.Append("CONCAT("); concatOperator = ","; } for (int x = 0; x < count; x++) { if (!_items[x].IsLiteral) { sql.Append("("); } _items[x].GetSql(db_target, ref sql); if (!_items[x].IsLiteral) { sql.Append(")"); } if (x + 1 < count) { if (Separator != null) { sql.Append(concatOperator); Separator.GetSql(db_target, ref sql); } sql.Append(concatOperator); } } if (db_target == DbTarget.MySql) { sql.Append(")"); } }