Como el tema sugiere, deseo poder pasar los nombres de tabla como parámetros usando .NET (no importa qué idioma realmente) y SQL Server.Parametrizar el nombre de la tabla en .NET/SQL?
Sé cómo hacer esto para valores, p. command.Parameters.AddWithValue("whatever", whatever)
usando @whatever
en la consulta para denotar el parámetro. La cuestión es que estoy en una situación en la que deseo poder hacer esto con otras partes de la consulta, como los nombres de columnas y tablas.
Esta no es una situación ideal, pero es una que tengo que usar, no es realmente propensa a la inyección de SQL ya que solo alguien que usa el código puede establecer estos nombres de tabla y no el usuario final. Sin embargo, es desordenado.
Entonces, ¿es posible lo que estoy pidiendo?
EDITAR: Para aclarar el punto acerca de la inyección SQL, los nombres de las tablas solo se transfieren por código fuente, dependiendo de la situación. Es el desarrollador quien especifica esto. El desarrollador tendrá acceso a la capa de la base de datos de todos modos, así que la razón por la que estoy preguntando no es tanto por seguridad sino simplemente para que el código sea más limpio.
Sí, código fuente y solo en el código fuente. Es para facilitar el trabajo de compilación de instrucciones de actualización/inserción mientras refactorizo esto. – Damien