ADO.NET Entity Framework の基本 1 (Visual Studio 2010 の EF4)

Visual Studio 2010 で ADO.NET Entity Framework(通称 EF4)を利用する場合の手順は、次のとおりです。

[プロジェクト]メニューの[新しい項目の追加]をクリック。

[新しい項目の追加]ダイアログが表示されたら、「ADO.NET Entity Data Model」を選択して、[名前]を任意に設定し(既定値は Model1.edmx)、[追加]ボタンをクリック。

これにより、[Entity Data Model ウィザード]が起動するので、「データベースから生成」を選択して、[次へ]ボタンをクリック。

次の[データ接続の選択]画面では、[アプリケーションがデータベースへの接続に使用するデータ接続]で任意のデータベースを選択(事前にサーバー エクスプローラーで、データベースへの接続の追加を行っておいたものを選択する。画面は Northwind データベースを選択)。

また、[エンティティ接続設定に名前を付けて App.Config に保存:]がチェックされていることを確認(これで接続文字列を App.Config ファイル内へ格納してくれます)。テキスト ボックスに任意の名前を設定し(画面では NorthwindEntities)、[次へ]ボタンをクリック。ここで設定した名前は、プログラムから利用するので覚えておく必要があります。

次の[データベース オブジェクトの選択]画面では、[テーブル]を展開して、任意のテーブルを選択(画面は、Categories と Product テーブルを選択)。


[モデル名前空間]に任意の名前を設定し(画面は NorthwindModel、[完了]ボタンをクリックします。

これにより、「EDM デザイナー」が表示されて、各エンティティのデータ モデルが表示されます。

コード エディターを開いて、コードを次のように記述します(コンソール アプリケーションの場合)。

        Using ctx As New NorthwindEntities()
            Dim query = From p In ctx.Products _
                        Select p
            For Each p In query
                Console.WriteLine(p.ProductID & ": " & p.ProductName)
            Next
        End Using

NorthwindEntities(オブジェクト コンテキスト)をインスタンス化し、LINQ to Entities で Products エンティティからデータを丸ごと取得。For Each ループで、ProductID と ProductName を 1件ずつコンソールへ出力。

■ 実行結果(Products テーブルの ProductID と ProductName )