エンティティをデータベース テーブルにマップする方法
このトピックでは、ADO.NET Entity Data Model デザイナ (エンティティ デザイナ) を使用して、エンティティ型をデータベース テーブルにマップする方法について説明します。[マッピングの詳細] ウィンドウでは、1 つ以上のテーブルに対するエンティティのマッピング、マッピングの条件の定義、およびプロパティ マッピングの列の指定を行うことができます。
[!メモ]
このトピックでは、1 つのエンティティ型を 1 つのデータベース テーブルにマップする方法について説明します。ただし、1 つのエンティティ型を複数のデータベース テーブルにマップすることも可能です。この操作を行う方法の例については、「チュートリアル : 複数のテーブルへのエンティティのマッピング」を参照してください。
次の表で、デザイン画面でエンティティ型を選択したときの [マッピングの詳細] ウィンドウのフィールドについて説明します。
名前 | 説明 |
---|---|
列 |
テーブル内のすべての列のアルファベット順の一覧が含まれています。 |
演算子 |
マッピングまたは条件演算子が表示されます。 |
値/プロパティ |
列にマップされたエンティティ プロパティが表示されます。 フィールドが空白の場合は、その列がスカラ プロパティにマップされていないことを示します。 フィールドをクリックすると、すべてのスカラ プロパティが表示されるドロップダウン リストになります。 |
マッピングを追加するには
デザイン画面またはモデル ブラウザでエンティティ型を右クリックして、[テーブル マッピング] を選択します。
[マッピングの詳細] ウィンドウにテーブル マッピングが表示されます。
[マッピングの詳細] ウィンドウで、[テーブルまたはビューの追加] をクリックします。
フィールドが、現在のマッピングに含まれていないストレージ モデルのすべてのテーブルを含むドロップダウン リストになります。
一覧からテーブルを選択します。
ウィンドウに [<テーブル名> にマップ] ノードが追加されます。このノードには、テーブル列とエンティティ プロパティの間の既定のマッピングが含まれます。列名とプロパティ名が一致するかどうかがウィザードによってチェックされます。一致する場合、既定のマッピングは、列と同じ名前のプロパティの間です。
新しいマッピング ノードの下に別の [テーブルまたはビューの追加] 行が表示されます。この行を使用して、別のテーブルをマッピングに追加できます。
[<テーブル名> にマップ] ノードを展開します。
[条件の追加] オプションを使用して条件を追加できます。条件を使用すると、選択した条件列の値に基づいて、マッピング システムで階層内の特定の型とテーブル内の行との間でマッピングを行うことができます。エンティティ型は、マップ先の各テーブルに対して一連の条件を定義できます。詳細については、「条件を追加または削除する方法」を参照してください。
[列マッピング] ノードも表示されます。
[列マッピング] ノードを展開します。
テーブル内のすべての列の一覧が表示されます。列がマップされる既定のプロパティが [値/プロパティ] 見出しの下に表示されます。
マップする列を選択して、対応する [値/プロパティ] フィールドを右クリックします。
すべてのスカラ プロパティのドロップダウン リストが表示されます。
適切なプロパティを選択します。
各テーブル列ごとに、手順 6. と 7. を繰り返します。
テーブル マッピングを削除するには
[<テーブル名> にマップ] ノードをクリックします。
フィールドは、ドロップダウン リストになります。
[削除] をクリックします。
列マッピングを削除するには
マップする列を選択して、[値/プロパティ] フィールドをクリックします。
フィールドは、ドロップダウン リストになります。
[削除] をクリックします。
参照
その他のリソース
Entity Data Model ツールのタスク
ADO.NET Entity Data Model デザイナのシナリオ