私のDBには、さまざまな種類のものをサポートするために作成された一般的な構造があります。したがって、5 つの列を持つ Product テーブルがありますが、AttributeGroup と Attribute テーブルがあります。
AttributeGroup は、Product のプロパティの追加のタイプを指定するため、AttributeGroup には 30 行あり、すべて ProductID が Product テーブルに関連付けられています。次に、製品のすべてのインスタンスに対して、その製品のインスタンスの値を保持する属性テーブルにエントリがあります。したがって、Attribute テーブルには AttributeGroupID と ProductID があります。
AttributeGroup テーブルの最も一般的なプロパティに加えて、Product テーブルの最初の 5 列を返すストアド プロシージャがあります。sproc は、ProductID と追加の文字列入力を受け取り、AttributeGroup テーブルの追加フィールドの名前のカンマ区切りの文字列を入力します。次に、Product のすべてのインスタンスのセットを返し、AttributeGroup と Attributes を結合し、SQL Pivot コマンドを使用して、すべてのデータを列に返します。
ただし、データの列が 8 列、場合によっては 15 列の場合もあります。EntityFramework は sproc を呼び出しますが、8 つのプライマリ フィールドしか返しません。複合型を使用しています。List または Dictionary オブジェクトを使用して、最初の 8 を超える余分な列をロードして、これをいくつかのビューにバインドできるようにする方法はありますか。