2012-04-24 9 views
3

私はforeachループ内のストアドプロシージャを呼び出しており、各繰り返しでパラメータの1つの値を変更したいと考えています。現在、DynamicParametersに追加されたパラメータにアクセスする方法はありませんが、ソースを読むとDynamicParametersは内部の辞書を保持しています。これが公開されていない理由、またはParamInfosに値を変更させる別の方法がある場合、その理由は何ですか?DynamicParametersに追加した後のParamInfoの値を変更しますか?

更新

私は現在持っているもの:

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); 
} 
+0

http://stackoverflow.com/questions/10501319/is-there-anyway-to-iterate-through-a-dapper-dynamicparameters-object? –

+1

サム、私は現時点で何をしているのか(私はうまくいきます)私の質問を更新しました。私がやりたかったのは、ループの外でDynamicParametersを宣言してインスタンス化し、そのたびにストアドプロシージャを呼び出す前にパラメータの1つだけを更新することでした。あなたのリンクの例は何をしていますか?ありがとう。 – alimbada

答えて

2

本当の理由DynamicParametersはそんなに秘密ではありませんがあり、それが何をするか、ParamInfoクラスが露出することができ、私が提供して幸せになります適切な反復/修正特性および/または方法を含む。ピッチアップしたいと思えば、パッチを提出してください。

あなたはアプリ内の基本コマンドにこれをディスパッチするために使用する簡単なインターフェイスであるIDynamicParametersを実装することができます。 DynamicParametersを開始点として使用できます。

関連する問題