提问人:richamegha khatua 提问时间:4/12/2023 最后编辑:Yong Shunrichamegha khatua 更新时间:4/13/2023 访问量:104
如何将数组作为存储过程的参数传递
How to pass array as parameter for stored procedure
问:
我有一个像这样的函数
SELECT * from "transaction".stp_txn_gettxndetails(0,0,3,cast('2005-03-01' as date),cast('2023-03-28' as date),ARRAY[10063],0,0,0,'0',0);
但我无法作为参数传递。ARRAY[10063]
public long[] p_transactionids { get; set; }
parameters.Add("p_transactionids", entity.p_transactionids, DbType.Int64, ParameterDirection.Input);
这就是我将值作为参数传递的方式。
答:
1赞
Yong Shun
4/13/2023
#1
根据 Dapper 文档,您应该使用 Dapper 的匿名类型参数。
var parameters = new
{
p_transactionids = entity.p_transactionids
};
另一种方法是根据本文构建类型的字典。Dictionary<string, object>
var dictParameters = new Dictionary<string, object>()
{
["p_transactionids"] = entity.p_transactionids
};
var parameters = new DynamicParameters(dictParameters);
// Add other params. Example:
// dynamicParameters.AddDynamicParams(new { name = "The Matrix" });
评论