5

ループ内でストアド プロシージャを呼び出しており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 );
}
4

2 に答える 2

1

DynamicParametersが何をするかについてそれほど秘密である本当の理由はありません。ParamInfoクラスが公開される可能性があり、適切な反復/変更プロパティおよび/またはメソッドを喜んで提供します。参加したい場合は、パッチを提出してください。

IDynamicParametersそれまでの間、これを基になるコマンドにディスパッチするために使用する簡単なインターフェイスをアプリで簡単に実装できます。DynamicParameters を出発点として使用できます。

于 2012-05-10T11:29:50.487 に答える