ADO.NET エンティティ・フレームワーク (ADO.NET Entity Framework) 入門 (1)

ADO.NET Entity Framework (エンティティ・フレームワーク)

エンティティ・フレームワークとは?

マイクロソフトが .NET Framework 3.5 で導入した、O/R マッピング (Object Relational Mapping) 手法の一つということが出来ます。

従来の O/R マッピングでは、テーブルに対応するクラスを表現するためにコードを大量生成したり、属性を設定したりと、様々なアプローチが行われてきました。 (私もあるツールを利用して、コードを生成する方法を採用したことがありましたが、そのときはメンテナンスが非常に大変でした)

今回紹介する ADO.NET EF では XML (edmx) によって、概念モデル (csdl)、マッピング (msl)、ストレージ (ssdl) 情報を表現できるようにしてあります。

入手方法

Visual Studio 2008 SP1 をインストールすると、利用可能になります。

デモ

抽象的な話をしてもわかりにくいので、はじめにどれだけコードを書くのが簡単になるか見てください。

(MS お決まりのサンプルデータベースである) Northwind の Contacts テーブルから Contact 情報を抽出するデモをご覧ください。

このデモで使用しているコードは以下の通りです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EFTest1 {
     
     class Program {

          static void Main( string[] args ) {

               using ( var context = new EFTest1.NorthwindEntities() ) {
                    
                    var contacts = from c in context.Customers
                                      where c.ContactName.StartsWith("S")
                                      select c;

                    foreach ( var contact in contacts ) {
                    
                         Console.WriteLine( contact.ContactName );
                    
                    }
                                      
               }

          }

     }

}

この例ではコンテキストから LINQ を利用して、簡単に情報を取得するデモを示しました。

ここで、登場する NorthwindEntities クラスは、このフレームワークによって自動的に生成されています。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Web/DB プログラミング徹底解説