SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

Scott Guthrie氏 Blog翻訳

Entity Framework コードファーストのお知らせ(CTP5リリース版)

連載:ScottGu's Blog翻訳


CTP5のその他のEFコードファーストの改善点

 EFコードファーストCTP5には、その他の改善点も数多く含まれています。以下は、それらの紹介です。

  • Fluent APIの改善
  •  EFコードファーストでは、DbContextクラス上の『OnModelCreating』メソッドをオーバーライドして、配下にあるデータベーススキーマにモデルクラスをマップするのに使用しているスキーマのマッピングルールを、さらに調整/オーバーライドできます。

     このメソッドを用いることで、マッピングルールをさらにクリーンで簡潔にすることが可能です。CTP5では、このメソッドに引き渡されるModelBuilderクラスに対してもいくつかの調整が行われました。

     ADO.NETチームは、これを行う方法を示したサンプルをここで、ブログ投稿しています。

  • プラガブル・コンベンション(Pluggable Conventions)のサポート
  •  EFコードファーストCTP5では、EFコードファーストが従う『デフォルト規約』(オプションにより独自の規約と置換も可能)をオーバーライドできます。

  • 新しい変更追跡API
  •  EFコードファーストCTP5では、新しい変更追跡情報が公開され、Original、Current、Storedの値とState(Added、Unchanged、Modified、Deleted)にアクセスできます。このサポートは、さまざまなシナリオで便利に使用できます。

  • 同時実行の競合の解決を改善
  •  EFコードファーストCTP5では、例外メッセージが改善され、影響しているオブジェクトインスタンスへのアクセスや、現在の値、オリジナルの値、データベースの値を使用して競合が解決できる機能へのアクセスが可能になりました。

  • 生のSQLクエリ/コマンドのサポート
  •  EFコードファーストCTP5では、DbContext.Databaseプロパティを公開するために、SqlQueryおよびSqlCommandメソッドを通じて、生のSQLクエリおよびコマンド(SPROCを含む)が実行できます。これらのメソッド呼び出しの結果は、オブジェクトインスタンスに具現化でき、オプションでDbContextで変更追跡できます。これは、さまざまな上級なシナリオで、便利に使用できます。

  • DataAnnotationの完全サポート
  •  EFコードファーストCTP5では、.NET内のすべての標準のDataAnnotationがサポートされるようになり、EFコードファーストが、データベース作成シナリオで使用された時に、検証を実行するため、または自動的に適切なデータベーススキーマを作成するために使用できます。

まとめ

 EFコードファーストでは、エレガントで強力な方法でデータが取り扱えます。私がこれを非常に好きな理由は、究極にクリーンでベストプラクティスをサポートしつつ、ソリューションが非常に速く実装できるからです。ライブラリのコードのみの方法とは、最終的にモデル層が非常に柔軟性があり簡単にカスタマイズできるようになることを意味しています。

 今週のCTP5リリースは、さらにEFコードファーストを調整し、来年初旬に出荷された際に、非常に良いものにするためにものです。いますぐNuGetを使ってインストールして、試して頂くことをお勧めします。恐らく、製品の素晴らしさに驚かれると思います。

 Hope this helps,

 Scott

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

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Scott Guthrie氏 Blog翻訳連載記事一覧

もっと読む

この記事の著者

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

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

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

Scott Guthrie(Scott Guthrie)

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5657 2011/01/24 17:11

イベント

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

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

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

メールバックナンバー