gpt4 book ai didi

sql - Dapper 不添加参数

转载 作者:行者123 更新时间:2023-12-05 00:13:24 27 4
gpt4 key购买 nike

我正在尝试将 Dapper 用于我们的复杂查询,以消除 NH 之前存在的任何丢失的开销。

我有以下查询(请注意,这已大大缩小):

SELECT DISTINCT *
FROM tasks t
WHERE t.initials = @UserInits

这是通过我们的存储库调用的:

taskRepo.RawExec<TaskListItemDTO>(Query,new {UserInits = "SAS"})

我们对 DapperExec 的实现如下:

public IEnumerable<T> RawExec<T>(string SQL, object param)
{
return _session.Connection.Query<T>(SQL,param);
}

但是 Dapper 似乎没有将参数添加到查询中,因此,我们遇到了语法错误。

如果有帮助,我们将通过 ODBC 连接到 Informix。

谢谢

更新代码示例:

抱歉耽误了这么久,工作很忙!下面是 MS SQL (2008) Server 的一个示例,它应该简单地查询参数值为 1 或 0 的 sys.all_objects(systables?) - 但在这个示例中,由于 ODBC 不使用命名参数,所以这将不起作用.

using Dapper;
using DapperSQL;
using System.Collections.Generic;
using System.Data;
using System.Data.Odbc;

namespace DapperTests
{
public class SQLEx
{
private OdbcConnection GetConnection()
{
var cnn = new OdbcConnection("DSN=ODBCSOURCE");
cnn.Open();

// wrap the connection with a profiling connection that tracks timings
return cnn;
}

public IEnumerable<object> DapperTest()
{
using (OdbcConnection conn = GetConnection())
{
return conn.Query("SELECT * FROM sys.all_objects where is_ms_shipped = ?", new { is_ms_shipped = 1 });
}
}
}

最佳答案

我知道这是旧帖子,只是使用 SP 而不是查询,请查看此链接 Dapper using ODBC store procedure Input parm ,这使用 sybase odbc Sp,所有 odbc 使用相同的技术,我希望它在 Informix 中工作。

关于sql - Dapper 不添加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12509791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com