Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

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

連載:ScottGu's Blog翻訳

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/09/01 14:00

 本連載では、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」ディレクトリにコピーすることも可能です。


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

著者プロフィール

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

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2017年5月時点での登録メンバは52名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂き...

バックナンバー

連載:Scott Guthrie氏 Blog翻訳

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5