EF6 Alpah 1 が公開されています
MSは相変わらず結構なリソースを投入して Entity Framework(EF) の強化を継続していますね。
ただ米国ではやる気を感じるのですが、日本ではあまり情報発信が出来ていないようですみません。
MCAホルダーの福井さんにも怒られました・・・
さて、2012/11時点で正式版としてリリースされているのはEF5です。以前のポストでさらっとご紹介しました。
そして先日、EF6 Alpha 1 がNuGetで公開されました!
https://nuget.org/packages/entityframework (Thursday, October 25, 2012)
まだ、a very early preview らしく、significantly prior to the final release of EF6 なので、不具合がいろいろとあるかもしれませんが、広い心でご利用ください。
実プロジェクトでは使わないでくださいねw
EF6では大幅に機能強化されています。さらっと・・・
Async Query and Save
タスクベースの非同期パターンに対応しました。ウォークスルーもあるのでトライしてみてください。さらなる詳細はこちらです。
Custom Code First Conventions
ルールセット(プライマリーキー、テーブル名など)を指定できる Convention という機能がありました。 これに新しく独自のルールを定義できるCustom Conventionが使えるようになっています。 ウォークスルー あるので試してみてください。さらなる詳細はこちらを参考にしてください。
Multi-Tenant Migrations
以前はマイグレーションを行うときに、1つのDBインスタンスに対して1つのモデル(DbContext) で管理する必要がありました。EF6ではで1つのDBインスタンスに対して、複数のモデルを扱えるようになっています。さらなる詳細はこちら.
Configurable Migrations History Table
以前からマイグレーションのログを収集する機能を持っていましたが、これがカスタマイズできるようになっています。さらなる詳細はこちら.
Code-Based Configuration
System.Data.Entity.Config.DbConfiguration を使った Config を実装出来るようになっています。サンプルはこちら。 詳細はこちら.
Dependency Resolution
サービス ロケーターパターンをサポートしました。そのためのインタフェース IDbDependencyResolver が追加されています。詳細はこちら、サービスの一覧はこちら.
Updated Provider Model
以前、EFのコアコンポーネントのいくつかは.NET Framework本体に含まれていました。EF6 ではそれらが NuGet パッケージに含まれます。それに伴って、より短いスパンで機能強化してデリバリが可能になります。しかしながら、特に 3rd Party が提供しているEFのProviderには少なからず影響があるのでドキュメントを作りました。利用可能なプロバイダはこちら.
Enums, Spatial and Better Performance on .NET 4.0
EF Nugetを使うことで、.NET 4.0でも Enum、Spatial が使えるようになっています。パフォーマンスもアップ!
今回は表面的なところだけですが、もう少し検証してご紹介していきたいと思います。
使った方はフィードバックお願いします。