P.P*_*rre 5 c# parameters 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"}
.Select((item, ind) => new { ind = ind.ToString(), item })
.ToDictionary(item => item.ind, item => item.item);
DynamicParameters p = new DynamicParameters(dictionary);
Train train = connection.Query<Train>("Trains.Awesomesauce", param: p, commandType: CommandType.StoredProcedure).FirstOrDefault<Train>();
}
}
Run Code Online (Sandbox Code Playgroud)