Entity Framework 4 Beta 2 アナウンス
先日、ご紹介した通り Visual Studio 2010 Beta 2 がダウンロード出来るようになっています。ADO.NET team blogを見ると New features の記載があります。後々検証する予定ですが、ここで簡単にまとめておきます。
· Foreign Keys: エンティティのプロパティとしてForeign Keyが持てるようになります。Tech・Edでも解説しましたが現行バージョンではForeign Key の操作が大変です。(できないわけではありません)
· Improvements to POCO Support: これはPOCOのサポートですね。Beta 2では細かいところが改良されているみたいです。
· Lazy Loading on by Default in new Models: どうも遅延ロードがデフォルトtrueになるようです。これは、善し悪し。
· EntityDataSource support for Query Extenders and POCO: 現行バージョンASP.NETではEntityDataSourceコントロールを使って簡単にデータバインドできます。.NET 4では Query ExtendersとPOCOがEntityDataSourceでサポートされます。ちなみにQuery Extendersは.NET 4で追加される新機能です。XXXDataSource系のコントロールを拡張するのに使います。
· Support for Binary Keys: エンティティのEntity KeyやForeign Keyとしてバイナリデータ型が使えるようです。
· ObjectMaterialized event: オブジェクトが生成されたタイミングで発生するObjectMaterializedイベントに対応するようです。このイベントはスカラ、複合、リファレンスプロパティに値がセットされたタイミングで実行されるようです。どのように使うと便利でしょうか??
· Object Services API improvements to enable N-Tier and Self Tracking Entities: ObjectStateEntryにGetUpdatableOriginalValues メソッドが追加されます。N-Tire開発のサポートが目的です。
· Improvements to the generated SQL: SQL Server 上でEntity Framework を使っていて、ためしに生成されるT-SQLをチェックすると、最適化されていないことに気付きます。(泣).NET 4では無駄なNestやJoinの削除、その他いろいろ改善されて、最適化されたT-SQLを吐き出すProviderが提供される予定です。
· Navigation Property Management: One-Wayのアソシエーションを生成可能。またnavigation properties の追加や削除が可能です。
· Improved Database Generation: ドメイン駆動促進のためにModel FirstでDDLが生成できる機能がBeta 1で追加されました。この辺りも、さらにいろいろ使いやすくなっているようです。またSQL CE がサポートされます。
· New Extensibility APIs: Modelを細かくカスタマイズするためのいろいろなAPIが登場するようです。
· Generation of Complex Types from Stored Procedures: Stored Procedureの出力値マッピングにComplex Typeが利用できるようになってみたいです。
· Greatly Improved Facet Management: 細かいところでエンティティのプロパティ設定、操作方法がシンプルになるようです。
· LINQ to Entities improvements: 以前解説しましたがEntityFunctions、SqlFunctionsクラスの追加、また構文に関してもいろいろと機能追加されます。
またVS2010 Beta 2からはADO.NET Entity Data Model Designer Extension Starter Kitなるものが使えるようになります。Entity Data Modelのツール類(Entity Designerなど)をカスタマイズしたいという超コアな方に利用して頂きたい一品です。個人的には当分様子見ですね。
Microsoft ADO.NET Entity Framework Feature Community Technology Preview 1が含まれないのは残念ですが、大体出揃った感はありますね。