Entity Framework プロジェクトを手動で構成する方法

Visual Studio プロジェクトで Entity Data Model ウィザードを使用した場合、自動的に .edmx ファイルが生成され、Entity Framework を使用するようにプロジェクトが構成されます。 詳細については、「Entity Data Model ウィザードを使用する方法 (Entity Framework)」を参照してください。 Entity Framework を使用して Visual Studio プロジェクトを手動で構成することもできます。 これを行うのは、モデル ファイルとマッピング ファイルを手動で定義した場合、または EDM ジェネレーター (EdmGen.exe) ユーティリティを使用して定義した場合です。

このトピックの例では、モデルおよび AdventureWorks Sales Model のマッピング ファイルを使用します。 AdventureWorks Sales Model は、Entity Framework ドキュメントのタスク関連のトピック全般で使用されます。

AdventureWorks Sales Model を使用するように Visual Studio プロジェクトを構成するには

  1. ソリューション エクスプローラーで、System.Data.Entity.dll および System.Runtime.Serialization.dll のアセンブリ参照を追加します。

  2. 次のモデル ファイルとマッピング ファイルをプロジェクトに追加します。

    • AdventureWorks.csdl

    • AdventureWorks.msl

    • AdventureWorks.ssdl

    これらのファイルの作成の詳細については、「方法: モデル ファイルとマッピング ファイルを手動で定義する (Entity Framework)」を参照してください。

  3. 先ほどプロジェクト ディレクトリに追加した 3 つのファイルを選択します。 [プロジェクト] メニューの [プロジェクトに含める] をクリックします。

  4. プロジェクト ディレクトリに追加した 3 つのファイルを選択します。 [プロジェクト] メニューの [プロパティ] をクリックします。

  5. [プロパティ] ペインで、[出力ディレクトリにコピー][新しい場合はコピーする] に設定します。

  6. プロジェクトのアプリケーション構成ファイル (App.config) を開き、次の接続文字列を追加します。

    <connectionStrings>
        <add name="AdventureWorksEntities" 
             connectionString="metadata=.\AdventureWorks.csdl|.\AdventureWorks.ssdl|.\AdventureWorks.msl;
             provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
             Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60;
             multipleactiveresultsets=true'" providerName="System.Data.EntityClient" />
    </connectionStrings>
    

    If your project does not have an application configuration file, you can add one by selecting Add New Item from the Project menu, selecting the General category, selecting Application Configuration File, and then clicking Add.

  7. プロジェクト ディレクトリでコマンド プロンプトを開き、実際のプロジェクトに該当するコマンドを実行します。なお、改行は削除してください。

    • C# の場合

      "%windir%\Microsoft.NET\Framework\v4.0\edmgen.exe" /mode:EntityClassGeneration 
      /incsdl:.\AdventureWorks.csdl /outobjectlayer:.\AdventureWorks.Objects.cs /language:CSharp
      
    • Visual Basic の場合

      "%windir%\Microsoft.NET\Framework\v4.0\edmgen.exe" /mode:EntityClassGeneration 
      /incsdl:.\AdventureWorks.csdl /outobjectlayer:.\AdventureWorks.Objects.vb /language:VB
      

    これにより、C# または Visual Basic で、概念モデルに基づくオブジェクト レイヤー ファイルが生成されます。

  8. 前の手順で生成されたオブジェクト レイヤー ファイルをプロジェクトに追加します。

  9. アプリケーションのコード ページで、次の using ステートメント (Visual Basic の場合は Imports) を追加します。

    Imports System
    Imports System.Linq
    Imports System.Collections.Generic
    Imports System.Text
    Imports System.Data
    Imports System.Data.Common
    Imports System.Data.Objects
    Imports System.Data.Objects.DataClasses
    
    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.Common;
    using System.Data.Objects;
    using System.Data.Objects.DataClasses;
    

参照

概念

クイック スタート (Entity Framework)

その他のリソース

Entity Data Model Tools