まだ生きているようです

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- : スポンサー広告 :
Pagetop

EntityFramework:いろいろなマッピングの例3

今回は多対多表現です。これも結構情報は出ていますので、簡単に書いてみます。

 

9/25にお話した例は、インストラクターエンティティと、授業エンティティが存在していて、インストラクターは複数の授業を担当することを表現したい場合の話でした。

その場合、テーブルは以下のような形になるかと思います。

20101002_EF7

中間テーブルである、CourseInstructorを通じて、1対多関係でリレーションを表現します。

 

これをEDMの概念モデルで表現すると以下のように表すことが可能です。

20101002_EF8

概念モデルの表現として、CourseInstructorテーブルはエンティティではなくて、アソシエーションにすることが可能です。(DataBase Firstの場合は、自動的に上記の形になります)

エンティティにするか、アソシエーションにするかは結構議論の分かれるところですが、上記の場合は、コードは以下のように書きます。

using (SchoolEntities db = new SchoolEntities())

{

    var query = from c in db.Courses

                      from p in c.People

                      where p.FirstName == "Roger"

                      select c;

    foreach (var q in query)

    {

        Console.WriteLine(q.Title);

    }

}

fromが2回連続で出てきますので、ちょっと気持ち悪い感じがするかもしれません。

図にすると、以下のようなイメージになります。

 

20101002_EF9

2回選択している雰囲気が伝わるでしょうか?

この手のクエリはLINQであれば、LINQ to XMLなんかで使用されることが多いですよね。

このシリーズ書いていて思いますが、セッションで話したことをもう一度書くのは、結構苦痛です(笑)

スポンサーサイト

tag : EntityFramework

2010-10-02 : EntityFramework : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

カレンダー

プルダウン 降順 昇順 年別

08月 | 2017年09月 | 10月
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


カテゴリ

openclose

タグクラウドとサーチ

メールフォーム

名前:
メール:
件名:
本文:

プロフィール

こだかたろう

元MSの小高と申します。
(↓こんな人です。)
こんな見た目です

ずっとエバンジェリストをしていましたが、この度転身いたしました。
よろしくどうぞ。

Select Template

RSSリンクの表示

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。