方法: 複合型を作成および変更する (Entity Data Model ツール)
このトピックでは、ADO.NET Entity Data Model デザイナー (エンティティ デザイナー) で複合型を作成および変更する方法について説明します。 複合型の使用方法については、「Complex Type Objects (Entity Framework)」を参照してください。
複合型は、エンティティ デザイナーの [モデル ブラウザー] ウィンドウで作成および変更できます。 以下の手順では、エンティティ デザイナーで .edmx ファイルを開き、[モデル ブラウザー] ウィンドウを表示していることを前提としています。
複合型の作成
複合型は、以下のいずれかの方法で作成できます。
複合型を作成するには
モデル ブラウザーで [複合型] フォルダーを右クリックし、[追加] をポイントして、[複合型] をクリックします。
既定の名前を持つ新しい複合型がフォルダーに追加されます (別の名前を指定する方法については、下の「複合型の名前の変更」を参照してください)。
複合型にプロパティを追加します。
詳細については、下の「複合型へのプロパティの追加」を参照してください。
または
モデル ブラウザーで [複合型] フォルダーをクリックし、キーボードの Ins キーを押します。
既定の名前を持つ新しい複合型がフォルダーに追加されます。
複合型にプロパティを追加します。
または
エンティティ デザイナー画面で、エンティティの 1 つ以上のプロパティを選択し (ナビゲーション プロパティを除く)、右クリックして [新しい複合型へのリファクター] をクリックします。
選択したプロパティの新しい複合型がモデル ブラウザーに追加されます。 複合型には既定の名前が付きます。
新しく作成した型の複合プロパティが、選択したプロパティと置き換わります。 プロパティのマッピングはすべて保持されます。
または
[関数インポート] ダイアログ ボックスで、概念モデルに関数インポートを追加し、[新しい複合型の作成] をクリックします。 詳細については、「方法: ストアド プロシージャをインポートする (Entity Data Model ツール)」を参照してください。
複合型の名前の変更
複合型の名前を変更すると、その型へのすべての参照がプロジェクト全体で更新されます。
複合型の名前は、以下のいずれかの方法で変更できます。
複合型の名前を変更するには
モデル ブラウザーで複合型をゆっくりとダブルクリックします。
名前が選択され、編集モードになります。
または
モデル ブラウザーで複合型を右クリックし、[名前の変更] をクリックします。
名前が選択され、編集モードになります。
または
モデル ブラウザーで複合型を選択し、F2 キーを押します。
名前が選択され、編集モードになります。
または
モデル ブラウザーで複合型を右クリックし、[プロパティ] をクリックします。 [プロパティ] ウィンドウで名前を編集します。
複合型へのプロパティの追加
複合型のプロパティはスカラー型か既存の複合型にすることができます。 ただし、複合型のプロパティに循環参照を含めることはできません。 たとえば、複合型 ContactInfo に、複合型 ContactInfo のプロパティを含めることはできません。
以下のいずれかの方法で、複合型にプロパティを追加できます。
複合型にプロパティを追加するには
モデル ブラウザーで複合型を右クリックし、[追加] をポイントしてから、[スカラー プロパティ] または [複合プロパティ] をポイントし、プロパティ型を選択します。
既定の名前を持つ新しいプロパティが複合型に追加されます。
または
エンティティ デザイナー画面でエンティティ プロパティを右クリックし、[コピー] をクリックしてから、モデル ブラウザーで複合型を右クリックし、[貼り付け] をクリックします。
または
モデル ブラウザーで複合型を選択し、キーボードの Ins キーを押します。
既定の名前を持つ新しいスカラー プロパティが複合型に追加されます。
複合型の削除
複合型を削除すると、概念モデルからその型が削除され、その型のすべてのインスタンスのマッピングが削除されます。 ただし、その型への参照は更新されません。 たとえば、エンティティに型 ComplexType1 の複合型プロパティがあり、モデル ブラウザーで ComplexType1 が削除された場合、対応するエンティティ プロパティは更新されません。 削除された複合型を参照するエンティティがモデルに含まれていないため、そのモデルは検証されません。 エンティティ デザイナーを使用すると、削除された複合型への参照を更新または削除できます。
複合型は以下の方法で削除できます。
複合型を削除するには
モデル ブラウザーで複合型を右クリックし、[削除] をクリックします。
または
モデル ブラウザーで複合型を選択し、キーボードの Del キーを押します。
参照
処理手順
方法: 複合型プロパティをエンティティに追加する (Entity Data Model ツール)
方法: 複合型プロパティをテーブルの列にマップする (Entity Data Model ツール)
方法: 関数インポートを複合型にマップする (Entity Data Model ツール)