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