我使用BlToolkit并希望它不在最终编译的查询中使用参数。
实施例: 它编译的查询:
-- Sql MsSql2005
-- DECLARE @p1 Int64
-- SET @p1 = 101671702
SELECT * FROM dbo.Table1 WHERE Id = @p1
但是我希望它像这样编译:
-- Sql MsSql2005
SELECT * FROM dbo.Table1 WHERE Id = 101671702
有什么想法吗?
答案 0 :(得分:0)
BLToolkit仅在通过调试信息获取编译查询时显示注释参数。如果您打开SQL Server Profiler并看到正在执行的查询,那么这些参数不存在。所以我认为你对执行计划没问题。
答案 1 :(得分:0)
如果您确切知道要执行的SQL,则应使用SetCommand
然后直接执行SQL,如下所示:
using (var db = new DbManager("DemoConnection")){
var data = db
.SetCommand("SELECT * FROM dbo.Table1 WHERE Id = 101671702")
.ExecuteList<Table1>();
}