FC2ブログ
まだ生きているようです

スポンサーサイト

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

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

9/25に話した内容の一部です。

MSDNライブラリあたりには書いてある既知の内容なのですが、一応書いてみます。

今回は、概念モデルのいろいろな形を紹介します。

 

まずは、単一のエンティティを複数のテーブルにマップする方法です。

これはテーブルを(RDB上の何らかの事情で)、複数に分割していて、概念モデルでは一つで扱いたい場合などに便利です。

 

図で表すと以下のようなイメージです。

 20100926_EF1

手順といっても、デザイナで簡単に実現可能ですので、おおざっぱに。

上図の場合、employee2テーブルとemployee2_1テーブルから、DataBase Firstで、下記のように2つのエンティティがデザイナ上にできます。

20100926_EF2

 

employee2_1エンティティのData10~Data15を切り取って、employee2エンティティに貼り付けます。

20100926_EF3

 

すると結果以下のようになるので、、、

20100926_EF4

マッピングを以下のように変更します。

ここで2つのテーブルに関連づけられます。

20100926_EF5

最後に、あまったemployee2_1エンティティを削除します。

 

コードも紹介しておきます。と言っても普通ですけど。

社員を一人追加します。

using (Demo2Entities db = new Demo2Entities())
{
    employees2 newEmployee = employees2.Createemployees2(10, "社員1");
    newEmployee.Data1 = "Data1";
    newEmployee.Data13 = "Data13";
    db.employees2.AddObject(newEmployee);
    db.SaveChanges();
}

 

ちゃんと2つのテーブルに振り分けられてデータが追加されます。

20100926_EF6

 

注意する点は、2つのテーブルが1:1の対応になっていること(リレーションがなくてもOK)と、キーの形が同じことが条件になることです。

スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

tag : EntityFramework

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

Pagetop
« next  ホーム  prev »

カレンダー

プルダウン 降順 昇順 年別

09月 | 2018年10月 | 11月
- 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 31 - - -


カテゴリ

openclose

タグクラウドとサーチ

メールフォーム

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

プロフィール

こだかたろう

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

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

Select Template

RSSリンクの表示

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