dapper – 添加到DynamicParameters后更改ParamInfo的值?

我在foreach循环中调用存储过程,并希望在每次迭代时更改其中一个参数的值.目前,一旦将参数添加到DynamicParameters中,似乎没有任何方法可以访问这些参数,尽管从阅读源代码,我可以看到DynamicParameters确实保留了内部词典.有什么理由不公开或者是否有另一种方法可以让ParamInfos改变价值观?

更新

我目前有什么:

foreach ( var fooID in fooIDs )
{
    var dynamicParameters = new DynamicParameters();
    dynamicParameters.Add( ParameterNames.BarID, barID );
    dynamicParameters.Add( ParameterNames.FooID, fooID);

    connection.Execute( ProcNames.MyProc, dynamicParameters, commandType:CommandType.StoredProcedure );
}

最佳答案 没有任何真正的理由
DynamicParameters对它的作用是如此秘密,ParamInfo类可以暴露,我很乐意提供适当的迭代/修改属性和/或方法.如果您想要投入,请提交补丁.

与此同时,您可以简单地实现IDynamicParameters,这是我们用来在您的应用中将此分配给基础命令的简单接口.您可以使用DynamicParameters作为起点.

点赞