Entity Framework 4.3ベータがアナウンスされ、この中の最大の機能更新のひとつがコードファーストの自動データベース移行(Automatic Database Migrations)である。 このバージョンではまた、完全なXMLドキュメントとロギングの改善も行われている。しかしながら、多くのリクエストが寄せられていたEnumサポートは、EF 5.0を待たなくてはならない。
移行(Migration)とはなにか?EF 4.2で、Entity Frameworkとコードファーストを使っていた場合、モデルの変更の度に、データベースのドロップと再作成(この処理の中でテストデータは消えてしまう)か、手動でスキーマをアップグレードするかのどちらかを選択しなくてはいけなかった。これを回避するひとつの方法は、カスタムでデータベースの初期化ツールを作り、データベースを再作成したあとで、データを生成して追加することである。自動移行では、これはすべて過去のことになる。
Microsoftは、このブログ投稿で、あなたのプロジェクトでモデルを変更したときに、どのように移行を可能にするかを説明している。あなたは、後で本番環境にデプロイすることができるようにアップグレードSQLスクリプトを手に入れることができる。またカスタムで新しいカラムを追加して、デフォルト値を追加するなど、移行のカスタマイズも可能だ。
このバージョンにはまた、(インテリセンスによる補助付きの)完全なXMLドキュメントと、冗長なログを使った時のより詳細なログが含まれている。
EF 4.3には、待ち望まれていたEnumサポートを含むいくつかの機能が含まれていない。チーム曰く、
私たちは、.NET Frameworkの一部であるいくつかのアセンブリをアップデートする必要がある、数多くの機能を実装してきました。これらの機能には、enum、空間データ型、いくつかの深刻なパフォーマンス改善が含まれています。
まもなく出る.NET Framework 4.5の次期プレビューで、私たちは新しい機能をすべて含むEF 5.0ベータ1をリリースする予定です。
すぐにできる解決策は、Enumプロパティの小さいラッパーを作成するか、新しいエンティティを作ることだが、どちらもスマートではない。できれば、この機能をすぐにでも手に入れたい。
ベータは、製品利用のライセンスがなく、商用利用したい場合は、最終リリースを待たなくてはいけないことに注意して欲しい。ただし、新しい機能を確認して、EFチームにフィードバックを提供することができる。