方法: 概念モデルからデータベースを生成する (Entity Data Model ツール)

このトピックでは、データベース生成ウィザード (Entity Data Model ツール) を使用して、.edmx ファイルで定義されている概念モデルからデータベースを生成する方法を説明します。 詳細については、「.edmx ファイルの概要 (Entity Framework)」を参照してください。

次の手順は、Visual Studio 2010 でプロジェクトを開いていることを前提としています。

概念モデルからデータベースを生成するには

  1. .edmx ファイルをプロジェクトに追加します。

    .edmx ファイルをプロジェクトに追加する方法については、「方法: 新しい .edmx ファイルを作成する (Entity Data Model ツール)」および「方法: 既存の .edmx ファイルを追加する (Entity Data Model ツール)」を参照してください。

  2. 概念モデルをビルドします。

    ADO.NET Entity Data Model デザイナー (エンティティ デザイナー) を使用して、エンティティやリレーションシップを作成したり、.edmx ファイルを手動で編集して概念モデルをビルドしたりできます。 詳細については、「Entity Framework の高度な機能の実装」および「CSDL, SSDL, and MSL Specifications」を参照してください。

    Dd456815.note(ja-jp,VS.100).gif注 :
    概念モデルをビルドすると、マップされていないエンティティとアソシエーションについての警告が [エラー一覧] に表示される場合があります。データベース生成ウィザードによってストレージ モデルとマッピング情報が追加されるので、これらの警告は無視してください (手順 3. を参照)。

  3. エンティティ デザイナー画面で空の領域を右クリックし、[モデルからのデータベース生成] をクリックします。

    データベース生成ウィザード (Entity Data Model ツール)[データ接続の選択] ダイアログ ボックスが表示されます。

  4. [新しい接続] ボタンをクリックするか、ドロップダウン リストからデータベース接続を提供する既存の接続を選択します。

    ターゲット データベースの列の型をモデルのプロパティの型に基づいて特定し、接続文字列の情報をアプリケーションに追加できるように、データベース接続を指定する必要があります。 接続情報を入力しても、データ定義言語 (DDL) の生成は開始されません。

  5. [次へ] をクリックします。

    データベースを作成するためのデータ定義言語がデータベース生成ウィザードによって生成されます。 生成された DDL は [概要と設定] ダイアログ ボックス (データベース生成ウィザード) に表示されます。

  6. [完了] をクリックします。

    完了時にデータベース生成ウィザードは以下の処理を実行します。

    • 提供された概念スキーマ定義言語 (CSDL) に対応するストア スキーマ定義言語 (SSDL) とマッピング仕様言語 (MSL) を生成します。 .edmx ファイルは、生成された SSDL と MSL で更新されます。 ウィザードによって既存の SSDL と MSL が上書きされることに注意してください。

    • 生成された DDL を、[DDL に名前を付けて保存] ボックスで指定した場所に保存します。 生成された DDL の詳細については、「データベースの生成規則 (データベース生成ウィザード)」を参照してください。

      Dd456815.note(ja-jp,VS.100).gif注 :
      データベース生成ウィザードを実行したときに、ストレージ モデルが既に定義されている場合、生成された DDL には、ストレージ モデルから推論される各 EntitySet と各 AssociationSet にそれぞれ DROP TABLE ステートメントと DROP CONSTRAINT ステートメントが含まれています。

    • App.config または Web.config ファイルに接続文字列の情報を追加します。

ただし、生成された DDL はデータベース生成ウィザードでは実行されません。 概念モデルに対応するデータベース スキーマを作成するには、生成された DDL を単独で実行する必要があります (たとえば、SQL Server Management Studio で DDL を実行します)。

参照

その他のリソース

Entity Data Model ツールを使用したモデリング タスク
Entity Data Model ツールのシナリオ
ADO.NET Entity Data Model ツール