次のような単純な SQL 文字列があります。
"SELECT * FROM Office WHERE OfficeId IN @Ids"
問題は、@Ids 名がエディターに入力されるため、何でもかまいません。私の問題は、整数の配列などを渡したい場合、次を使用すると Dapper でのみ機能することです。
var values = new DynamicParameters();
values.AddDynamicParams(new { Ids = new[] { 100, 101 } });
しかし、これには、パラメーター名がIds
.
次のような「動的」な名前を使用して、Dapper で「動的パラメーター」を設定できます。
var values = new DynamicParameters();
values.Add("Ids", new[] { 100, 101 });
IN (....)
しかし、Dapper は値ごとに個別のパラメーターを使用して SQL を構築しません。
渡された動的オブジェクトを構築する方法はありますが、AddDynamicParams
事前に名前を知らなくてもメンバー名と値を設定できますか?
私のシナリオで機能するように Dapper ソースを変更することもできますが、これに対するよりシンプルでエレガントなソリューションを誰かが知っていれば、私は素晴らしいです!