方法: 関数インポートを複合型にマップする (Entity Data Model ツール)
このトピックでは、ADO.NET Entity Data Model デザイナー (エンティティ デザイナー) を使用して、関数インポートを複合型にマップする方法について説明します。
複合型への関数インポートのマップ処理には、次の 2 つの手順が含まれます。
複合型を返す関数インポートを作成します。
関数インポートにより返される列を特定の複合型にマップします。
注 : 関数インポートは、ストアド プロシージャに基づいています。関数インポートを複合型にマップするには、対応するストアド プロシージャが返す列の数が複合型のプロパティの数と一致するようにし、ストレージ型がプロパティ型と互換性があるようにする必要があります。
複合型を返す関数インポートを作成するには
モデル ブラウザーから次のいずれかの手順を実行します。
- 概念モデル情報の EntityContainer ノード内の [関数インポート] フォルダーを右クリックして、[関数インポートの追加] をクリックします。
または
- Stored Procedures フォルダー (ストレージ モデル情報内) を開き、対応する関数インポートのないストアド プロシージャを右クリックして [関数インポートの追加] を選択します。
[関数インポートの追加] ダイアログ ボックスが表示されます。
新しい関数インポートの設定を、次のように入力します。
関数インポートを作成するストアド プロシージャを [ストアド プロシージャ名] フィールドで指定します。 このフィールドは、ストレージ モデル内のすべてのストアド プロシージャが表示されるドロップダウン リストです。
関数インポートの名前を [関数インポート名] フィールドで指定します。
戻り値の型として、[複合] を選択し、ドロップダウン リストから適切な型を選択して特定の戻り値の複合型を指定します。
[OK] をクリックします。
関数インポート エントリが概念モデルに作成されます。
返された列を複合型にマップするには
モデル ブラウザーで関数インポートを右クリックし、[関数インポート マッピング] を選択します。
[マッピングの詳細] ウィンドウが表示され、関数インポートの既定のマッピングが表示されます。 矢印は、列の値とプロパティの値の間のマッピングを示します。 既定では、列名は、複合型のプロパティ名と同じであるものとされます。 既定の列名は、グレーのテキストで表示されます。
必要に応じて、関数インポートに対応するストアド プロシージャにより返される列名と一致するように、列名を変更します。
参照
処理手順
方法: 複合型を作成および変更する (Entity Data Model ツール)
方法: 複合型プロパティをエンティティに追加する (Entity Data Model ツール)
方法: 既存のプロパティを複合型プロパティにリファクタリングする (Entity Data Model ツール)
その他のリソース
Complex Type Objects
How to Execute a Query Using a Stored Procedure