0

テーブル値パラメーターを受け取るストアド プロシージャを呼び出しています。

このパラメーターを渡すための次のオプションを知っています: create DataTableDbDataReader、またはIList<SqlDataRecord>

私は使用していますIList<SqlDataRecord>(使用DataTableは似ています)が、大量のボイラープレートコードを書く必要があります:コレクションを作成し、各列のタイプを設定し、行を追加し、各セルの値を設定します。

これはまさに、Entity Framework が自動化することになっているコードの種類だと思います。そのため、SQL TVP 型に一致する C# クラスを定義し、通常の EF 属性を追加し、それらのオブジェクトのコレクションを作成し、EF をコレクションの上に実装DbDataReaderIList<SqlDataRecord>たいと考えました。しかし、私はそれを行う方法を見つけることができません-たとえば、ありますがEntityDataReader、それはSQLから読み取るためのものです-メモリ内コレクションの上に適切なインターフェースを実装する実装は見つかりません。

リフレクションを使用して自分で書き始める前に、何か提案はありますか?

4

1 に答える 1

1

Entity Frameworkは現在、テーブル値パラメーターをサポートしていません。この機能に投票できます:http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/1015347-table-valued-parameters

于 2012-05-11T23:45:03.723 に答える