第5回:ADO.NET Entity FrameworkにおけるObjectServicesの使用 (3/3)

次世代データアクセステクノロジー」

次世代データアクセステクノロジー

第5回:ADO.NET Entity FrameworkにおけるObjectServicesの使用

著者:マイクロソフト  小高 太郎

公開日:2008/1/29(火)

複数のテーブルへマッピングした際のEntity Data Model

今回の場合のEntity Data Modelはリスト7のように定義をすることになる。では、このEntity Data Modelに対してクエリーを行ってみよう。リスト8にCustomerWestにデータを追加した例を紹介する。

このプログラムで扱っているのが、Entity Data Modelで定義したCustomer型のオブジェクトであることに注目してほしい。CustomerWestテーブルとCustomerEastテーブルは、概念モデルとして意味的に同じCustomer型として扱うようにEntity Data Modelを作成した。

したがって、プログラム上ではテーブル(CustomerWest、CustomerEast)を意識する必要はなく、あくまでも扱う対象はCustomer型のオブジェクトになる。そしてAddObjectを行うタイミングで、はじめてどちらのエンティティにデータを追加するべきかを意識すればよい。

なお、このサンプルプログラムは以下からダウンロードできるので、興味のある方はぜひ確認いただきたい。

サンプルプログラム
ZIPファイル Demo_Multiple.zip (ZIPファイル/35.9KB)

リスト7:複数のテーブルへマッピングした際のEntity Data Model
リスト7:複数のテーブルへマッピングした際のEntity Data Model
(画像をクリックすると別ウィンドウに拡大図を表示します)

リスト8:CustomerWestにデータを追加した例
static void Main(string[] args)
{
    using (MESTDemoEntities objCtx = new MESTDemoEntities())
    {
        Customer customerWest = new Customer();
        customerWest.CustomerId = objCtx.CustomerWest.Count<Customer>() + 1;
        customerWest.Name = "Customer West " + customerWest.CustomerId.ToString();

        objCtx.AddObject("CustomerWest", customerWest);
        objCtx.SaveChanges();
    }
}


最後に

本連載ではADO.NET Entity Frameworkの基本的な内容をVisual Studio 2008を使用した開発手法を通して紹介してきた。LINQ同様、ADO.NET Entity Framework並びにEntity Data Modelからは、数多くの表現手法や多彩なクエリー手法が提供されている。そしてこれらは今後も開発者の方々のフィードバックを得て改良されていくだろう。

ぜひ一度動作を確認していただき、評価いただければ幸いである。


前のページ  1  2  3


マイクロソフト株式会社 小高 太郎
著者プロフィール
マイクロソフト株式会社  小高 太郎
ERP パッケージ開発に携わり、プログラマーからスタート。Microsoft Universityの講師を兼務、その後、SE、PM、管理職の道に進むも、縁あって2007年3月よりデベロッパー エバンジェリストに転身、現在は開発者向けに様々な技術訴求を行うべく活動中。


INDEX
第5回:ADO.NET Entity FrameworkにおけるObjectServicesの使用
  Object Servicesとは?
  ObjectServicesにおけるEntity SQL、LINQの使用
複数のテーブルへマッピングした際のEntity Data Model
次世代データアクセステクノロジー
第1回 LINQとADO.NET Entity Framework
第2回 LINQによるデータアクセス実装
第3回 さまざまなデータソースへのアクセス
第4回 ADO.NET Entity Frameworkによるデータアクセス実装方法
第5回 ADO.NET Entity FrameworkにおけるObjectServicesの使用

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored