如何使用存储过程在 C# 中将数组作为参数传递

问题描述 投票:0回答:1

我有一个像 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;放; } parameters.Add("p_transactionids", entity.p_transactionids, DbType.Int64, ParameterDirection.Input);

我喜欢这个

parameter-passing dapper
1个回答
0
投票

根据 Dapper 文档,您应该使用 Dapper 的匿名类型参数。

var parameters = new 
{ 
    p_transactionids = entity.p_transactionids
};

另一种方法是根据这篇

article
构建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" });
© www.soinside.com 2019 - 2024. All rights reserved.