歴史的に、テーブル値パラメーターは dapper の大きな焦点ではありませんでした。主に SqlConnection
でのみ動作するためです (dapper は、「装飾された」ADO.NET プロバイダーを含む任意のプロバイダーをターゲットにしようとします。つまり、SqlConnection
ラッパーの下に隠れています)。 できること IDynamicParameters
を実装する必要があります 手動で (または既存の DynamicParameters
を借用します) クラス) にこの機能を追加するには:
void SqlMapper.IDynamicParameters.AddParameters(System.Data.IDbCommand command, SqlMapper.Identity identity){ ... // コードが何であれ... ((SqlCommand)command).Parameters .AddWithValue (...,...).SqlDbType =System.Data.SqlDbType.Structured; ...}コード> プレ>
また、具体的な DynamicParameters
を作成するよう努めます。 クラスはここでよりポリモーフィックになり、将来のビルドでは override
できるようになります 単一のメソッド、TVP っぽいタイプを検出し、パラメーターを手動で追加します。