SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Scott Guthrie氏 Blog翻訳

既存のデータベースでEF『コード・ファースト』を使用

連載:ScottGu's Blog翻訳

  • このエントリーをはてなブックマークに追加

 本連載では、Scott Guthrie氏のブログを、氏の許可を得て翻訳、転載しています。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。

  • このエントリーをはてなブックマークに追加

 本稿は、Scott Guthrie氏のブログを、氏の許可を得て翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。

 原典:Using EF "Code First" with an Existing Database

 先月、新しいEntity Framework 4『コード・ファースト』開発オプションについてブログ投稿しました。EF『コード・ファースト』はデータを扱うための非常に優しい『コード中心』の開発ワークフローを可能にします。それにより以下のことが可能です。

  • デザイナを開いたりXMLマッピングファイルを定義したりすることなくデータが扱える
  • ベース・クラスなしのプレーン・オールド・クラスを書くだけでモデル・オブジェクトを定義
  • 明示的な設定をすることなく、データベースの永続化が可能な設定に勝る規約を使用

 初回のブログ投稿で、EF『コード・ファースト』を紹介し、新しいデータベースを作成する時のデフォルトのEF4マッピング規約の使用方法をお見せしました。これらのデフォルトの規約は新しいアプリケーションに非常にうまく動作し、データベースへまたデータベースからクラスをマップするのに明示的に何かを構成しなくてもよくなります。そして、2回目の独自のデータベース・スキーマのマッピングについてのブログ投稿を行い、デフォルトの永続化マッピング・ルールのオーバーライドと独自データベース・スキーマの有効化の方法をお話ししました。

 本日のブログ投稿では、最近いくつか頂いた質問についてカバーします。それは、「既存のデータベースとEFコード・ファーストはどのように使用するのか? 」というものです。

EFコード・ファーストを既存のデータベースと使用

 EF『コード・ファースト』は既存のデータベースとうまく動作し、それらとの非常に素晴らしいコード中心の開発方法が可能になります。具体的には、クリーンなプレーン・オールド・クラス(別名POCO)をモデルオブジェクトに対して使用できるようになり、デフォルトのマッピング規約もしくはそれを独自のスキーマ・マッピング・ルールでオーバーライドしたものを使用してデータベースへ、またはデータベースからそれらをクリーンにマップできるようになります。

 以下は既存データベースとEF『コード・ファースト』を使用する方法のステップバイステップのインストラクションです。

ステップ 1:新しいASP.NET Webアプリケーションプロジェクトの作成

 では、まず新しいASP.NET Webアプリケーションプロジェクトを作成しましょう。以前の2つのEF『コード・ファースト』ブログ投稿ではASP.NET MVCを使用しましたが、今回はASP.NET Webフォームを使用します。注意して欲しいのは、どんなタイプのASP.NETアプリケーションを使用してもEF概念はすべて同一であるということです。

 VS 2010(または無償のVisual Web Developer 2010 Express)で、[ファイル]-[新規プロジェクト]を使用して、[ASP.NET Webアプリケーション]プロジェクトテンプレートを選択して新しいアプリケーションを作成します。

 VS 2010の新しい「ASP.NET Webアプリケーション」プロジェクトは素晴らしいスターターテンプレートで、CSSデザインされたデフォルトのマスターページレイアウトが提供されます(以前この新しいスターター・プロジェクトテンプレートについてブログ投稿しています)。それが作成されるといくつかのデフォルトファイルが確認できます。

 これらのデフォルトファイルは必要ありません(代わりに[空のASP.NET Webアプリケーション]プロジェクトテンプレートだけの使用もできます)。しかし、それらによりこの単純なアプリケーションの見た目がデフォルトで少し通常よりもきれいになるので使うことにします。

ステップ 2:EF コード・ファースト・アセンブリの参照

 次のステップでは、プロジェクトにEF コード・ファースト・ライブラリへの参照を追加します。ソリューションエクスプローラで[参照設定]ノード上を右クリックし[参照の追加]を選択します。

 EF コード・ファーストライブラリをダウンロードしてインストールした時に「\Program Files\Microsoft ADO.NET Entity Framework Feature CTP4\Binaries\」ディレクトリ内にインストールされた[Microsoft.Data.Entity.Ctp.dll]アセンブリを参照します。この参照を追加後、次のようなプロジェクトの参照ウィンドウが表示されます。

ステップ 3:Northwindデータベース

 もしSQL ServerデータベースにNorthwind(もしくは他のデータベース)がインストールされていればこのステップはスキップしてください。

 Northwindがインストールされていなければ、ここでダウンロードできます。そこに含まれている.SQLファイルでSQLデータベースにインストールすることも、またNorthwind.mdf SQL Expressファイルをアプリケーションの「\App_Data」ディレクトリにコピーすることも可能です。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ステップ 4:モデル層の作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Scott Guthrie氏 Blog翻訳連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト Chica(チカ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Scott Guthrie(Scott Guthrie)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5400 2010/09/01 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング