私は、dapper-dot-net が次のようなクエリでテーブル名を置き換えることができると予想していました。
connection.Query("SELECT * FROM @Table WHERE [Id] = @Id", new {Table = tb, Id = id});
ただし、テーブル名を置き換えないようです。それは予想される制限ですか?
"in" の 1 つの例外 (dapper がブードゥー教を提供する場合) を除いて、dapper は直接的な ADO.NET ツールであり、クエリを変更しません。本当の問題は、SQL でテーブル名をパラメータ化できるかということです。私が知っているすべてのデータベースで:いいえ、できません-したがって、それは無効です。Dapper はその問題を解決しようとはしません。
おそらくstring.Formatを検討してください。
[square brackets]
表記を使用して、可能な名前の全範囲を許可する