我在foreach循环中调用存储的proc,并希望在每次迭代中更改其中一个参数的值。目前,在将参数添加到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 );
}发布于 2019-02-25 18:10:16
重新添加参数。
// Call Add() with new values.
dynamicParameters.Add(ParameterNames.BarID, differentBarID);发布于 2012-05-10 11:29:50
DynamicParameters对于它所做的事情并没有真正的秘密,可以公开ParamInfo类,我很乐意提供适当的迭代/修改属性和/或方法。如果您想要投球,请提交补丁。
同时,您可以简单地在应用程序中实现IDynamicParameters,这是我们用来将其分配给底层命令的一个简单接口。您可以使用DynamicParameters作为起点。
https://stackoverflow.com/questions/10303865
复制相似问题