Parameterise Tabellenname in .NET / SQL?

Wie das Thema schon sagt, möchte ich Tabellennamen als Parameter mit .NET (egal in welcher Sprache) und SQL Server übergeben können.

Ich weiß, wie das für Werte gemacht wird, z.command.Parameters.AddWithValue("whatever", whatever) using@whatever in der Abfrage, um den Parameter zu kennzeichnen. Die Sache ist, dass ich in einer Situation bin, in der ich dies mit anderen Teilen der Abfrage wie Spalten- und Tabellennamen tun möchte.

Dies ist keine ideale Situation, aber ich muss sie verwenden. Sie ist nicht wirklich anfällig für SQL-Injection, da nur jemand, der den Code verwendet, diese Tabellennamen festlegen kann, und nicht der Endbenutzer. Es ist jedoch chaotisch.

Also, ist das, was ich frage, möglich?

EDIT: Um den Sinn der SQL-Injection zu verdeutlichen, werden die Tabellennamen situationsabhängig nur im Quellcode übergeben. Dies legt der Entwickler fest. Der Entwickler hat ohnehin Zugriff auf die Datenbankebene. Ich frage ihn deshalb nicht nach der Sicherheit, sondern nur, um den Code sauberer zu machen.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage