小编P.P*_*rre的帖子

如何使用 dapper 按位置将参数传递给存储过程?

using (SqlConnection connection = new SqlConnection(ConnectionString))
{
   Train result = connection.Query<Train>("Trains.AwesomeSauce", new { TrainId =  "TRN001", CurrentTrack = "TR001"}, commandType: CommandType.StoredProcedure).FirstOrDefault<Train>();
}
Run Code Online (Sandbox Code Playgroud)

上面的方法有效,但我想传递参数而不实际说 this = that。下面的方法不起作用我收到一条错误消息

附加信息:过程或函数“AwesomeSauce”需要参数“@TrainId”,但未提供该参数

代码:

public void TestMethod5()
{
    using (SqlConnection connection = new SqlConnection(ConnectionString))
    {
        List<string> parameters = new List<string> { "TRN001", "TR001" };
        var list = connection.Query<Train>("Trains.Awesomesauce", new { parameters}, commandType: CommandType.StoredProcedure).FirstOrDefault<Train>();
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试了下面的代码,但得到了相同的结果

过程或函数“AwesomeSauce”需要参数“@TrainId”,但未提供该参数

错误。

public void TestMethod5()
{
    using (SqlConnection connection = new SqlConnection(ConnectionString))
    {
        var dictionary = new object[] { "TRN001","TR001"} …
Run Code Online (Sandbox Code Playgroud)

c# parameters dapper

5
推荐指数
0
解决办法
736
查看次数

标签 统计

c# ×1

dapper ×1

parameters ×1