我原本以为dapper-dot-net可以在这样的查询中替换表名:
connection.Query("SELECT * FROM @Table WHERE [Id] = @Id", new {Table = tb, Id = id});
但是,似乎没有替换表名。这是预期的限制吗?
答案 0 :(得分:5)
除了“in”(dapper提供某些巫术)之外,dapper是一个直接的ADO.NET工具 - 它不会改变查询。所以真正的问题是:你能在SQL中参数化表名吗?在我知道的每个数据库中:不,你不能 - 所以这是无效的。 Dapper并不试图解决这个问题。
也许考虑一下string.Format,记住:
[square brackets]
表示法以允许全部可能的名称