我使用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
任何想法?
BLToolkit仅在通过调试信息获得编译后的查询时显示注释的参数。如果您打开SQL Server Profiler并看到正在执行的查询,那么这些参数不在那里。所以我认为你对执行计划没有意见。
如果你确切地知道要执行什么SQL,你应该使用SetCommand
,然后直接执行SQL,像这样:
using (var db = new DbManager("DemoConnection")){
var data = db
.SetCommand("SELECT * FROM dbo.Table1 WHERE Id = 101671702")
.ExecuteList<Table1>();
}