テーブル値パラメーターを受け取るストアド プロシージャを呼び出しています。
このパラメーターを渡すための次のオプションを知っています: create DataTable、DbDataReader、またはIList<SqlDataRecord>。
私は使用していますIList<SqlDataRecord>(使用DataTableは似ています)が、大量のボイラープレートコードを書く必要があります:コレクションを作成し、各列のタイプを設定し、行を追加し、各セルの値を設定します。
これはまさに、Entity Framework が自動化することになっているコードの種類だと思います。そのため、SQL TVP 型に一致する C# クラスを定義し、通常の EF 属性を追加し、それらのオブジェクトのコレクションを作成し、EF をコレクションの上に実装DbDataReaderしIList<SqlDataRecord>たいと考えました。しかし、私はそれを行う方法を見つけることができません-たとえば、ありますがEntityDataReader、それはSQLから読み取るためのものです-メモリ内コレクションの上に適切なインターフェースを実装する実装は見つかりません。
リフレクションを使用して自分で書き始める前に、何か提案はありますか?