BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Entity Framework Code-First CTP5

Entity Framework Code-First CTP5

原文(投稿日:2010/12/31)へのリンク

今月の始め頃に ADO.NETチームは、 Entity Framework Code-Firstライブラリの CTP5をリリースした。ライブラリは、データを扱っている開発者に、コード中心のワークフローを提供することを意図している。このCTPは、2011年のQ1に予定されている最終リリース前の最後のリリースである。

Entity Framework Code-First CTP5 によって、開発者は以下のことができるようになる。

  • デザイナーを開かずに開発できる
  • ベースクラスが不要なクラスを書くことによってモデル オブジェクトを定義できる
  • 明示的に何も設定せずにデータベースの永続化ができる

CTP5の既知の問題

  • Fluent APIにおけるテーブルとカラムのマッピングは、品質改善が必要
  • プラグイン可能な規約は、CTP5では早期プレビュー版、もっとテストが必要
  • バリデーション フィーチャは、 Code First使用時のみサポートされている

CTP4以降の新たな追加項目

DbContext

  • DbContext/DbSet を使うためのT4テンプレート
  • 保存時のオブジェクト バリデーション
  • 変更追跡 API
  • DbSet.LocalがDbSetのローカル内容を表す ObservableCollectionをアクセス可能にする
  • iQueryable<T>への AsNoTracking拡張メソッドにより No-Tracking クエリのサポート
  • DbContex 設定
  • Raw SQL クエリ/コマンド
  • 同時実行における競合解決の改善

コード ファースト

  • 完全なデータ アノテーションのサポート
  • Fluent API の改善
    • 単純化されたテーブルとカラムのマッピング
    • クラスとプロパティを無視する機能
  • プラグイン可能な規約は、早期リリース版で、開発が終了していない

CTP4からの変更

  • 新しいアセンブリ名 - EntityFramework.dll
  • 既存データベースへのコードファースト サポートの改善
  • DbContext.ObjectContext が移動して、コンテキストを取得するには、((IObjectContextAdapter)myContext).ObjectContextを介する
  • EdmMetadata Tableの排除
  • クラスの変更
    • System.Data.Entity.Database.DbDatabase
    • System.Data.Entity.Database.DropCreateDatabaselfModelChanges
    • System.Data.Entity.Database.DropCreateDatabaseAlways
    • System.Data.Entity.Database.CreateDatabaselfNotExists
    • System.Data.Entity.Database.SqlConnectionFactory
    • System.Data.Entity.Database.SqlCeConnectionFactory

開発者は、 Visual Studioの NuGetを使った、容易なライブラリのインストールとSQL Azure内のデータに対しても使えることが気に入っている。このリリース以来、Morteza Manavi 氏がCTP5を使って、継承性マッピングと Entity Associationに関する 素晴らしいシリーズを書いている。

この記事に星をつける

おすすめ度
スタイル

BT