Entity Framework Code First CTP5 リリース

Entity Framework Code Firstの最新のCTP5がリリースされています。

機能的には、これで大分出揃ったという感じでしょう。

これが最後のCTPになるようです。また、2011年1月~3月くらいにはリリース予定です。

英語では既に様々な機能を紹介したPostがあるので参考にしてください。このBlogでもご紹介する予定です。

Model & Database First with DbContext

Code First Walkthrough

Code First Fluent API Samples

Looking at EF4 CTP5 in Parts: Part 1 - A New T4 Template

Looking at EF4 CTP5 in Parts: Part 2–Internal Validation

Looking at EF4 CTP5 in Parts: Part 3–Easy Access to In-Memory Entities

Looking at EF4 CTP5 in Parts: Part 3–Easy Access to In-Memory Entities

 

ちなみに変更点は

・アセンブリ名が変更になりました。

    Microsoft.Data.Entity.CTP.dll –> EntityFramework.dll

・既存DBをコードファーストで利用する時(正確にはDBファースト)Database InitializerをOFFにする必要がなくなった。

・DbContextのメンバーにprotected ObjectContextが含まれていたが含まれなくなった。IObjectContextAdapterを使ってObjectContextを取得できる。

・クラス名が変更

CTP4 Name CTP5 Name
Database System.Data.Entity.Database.DbDatabase
RecreateDatabaseIfModelChanges System.Data.Entity.Database.DropCreateDatabaseIfModelChanges
AlwaysRecreateDatabase System.Data.Entity.Database.DropCreateDatabaseAlways
CreateDatabaseIfNotExists System.Data.Entity.Database.CreateDatabaseIfNotExists
SqlConnectionFactory System.Data.Entity.Database.SqlConnectionFactory
SqlCeConnectionFactory System.Data.Entity.Database.SqlCeConnectionFactory

追加機能は

DbContext

・モデルファースト、DBファーストからDbContextの利用
・アノテーションをベースとした保存時のバリデーション
・Change Tracker API
変更管理が可能になります。
・No-Tracking クエリのサポート
・WPFやWinFormのデータバインディング強化
・遅延ロードのサポート
・DbContext.DatabaseのSqlQuery、SqlCommandを使うと、ネイティブT-SQLの実行が可能
・同時実行制御におけるエラー制御の改善

Code First

・フルでアノテーションをサポート

KeyAttribute
StringLengthAttribute
MaxLengthAttribute
ConcurrencyCheckAttribute
RequiredAttribute
TimestampAttribute
ComplexTypeAttribute
ColumnAttribute
TableAttribute
InversePropertyAttribute
ForeignKeyAttribute
DatabaseGeneratedAttribute
NotMappedAttribute

 

・流れるようなAPI の改善

コードがすっきり。
テーブルとカラムマッピングの単純化
クラスとプロパティを無視する機能

・Pluggable Conventions

詳細はまた次回