Microsoftは、Visual Studio 2012 Update 1で発生していたエラーとWindows 8 Pro環境下のVisual Studio 2012 Ultimateで実行したときのMicrosoft.DbContextPackage.Extensions.ProjectExtensions.InstallPackage(Projectプロジェクト、String packageId)エラーを修正したEntity Framework Power Tools Beta 3を発表した。
Entity Framework Power Tools Beta 3は、Reverse Engineer Code First オプションを使ったC#コンソースアプリケーション作成したあとで発生するビルドの問題を解決する。このリリースでは、System.Data.Entity.Spatialの代わりにSystem.Data.Spatial が使われる問題が修正され、Entity Framework Power Toolsで生成されたクラスを一部としてみなす。
最新リリースでは、プロジェクトがソリューションフォルダ下にあるときにエラーメッセージが表示せずにファイルのコンテキストメニューからなにもアクションできない問題の解決を含めて、デザイナのCode First EDMを見るためにPower Toolsを使ったときに発生する例外を修正している。
Entity Framework Power Tools Beta 3には、Reverse Engineer Code Firstと、Customize Reverse Engineer Templatesコンテキストメニューファンクションが提供されている。C#プロジェクトを右クリックすることでこれらを見ることができるようになっている。Reverse Engineer Code Firstメニューオプションは、DbContextと既存のデータベースへのCode Firstマッピングから派生したPOCOクラスを生成する。Customize Reverse Engineer Templatesオプションは、編集するために、デフォルトのリバースエンジニアリングしたT4テンプレートをあなたのプロジェクトに追加することができる。
これは、Entity Data Modelを表示 (読み取り専用)、Entity Data Model XMLを表示、 Entity Data Model DDL SQLを表示、ビューの生成など、DBContextクラスの継承をファイルを右クリックしたときに表示される新しいコンテキストメニューファンクションを提供する。最新リリースではまた、Entity Data Model (*.edmx)ファイルを右クリックしたときにビューの生成という名前の新しいコンテキストメニューを提供する。
公式なソースによると、MicrosoftはPower ToolsのRTMバージョンはリリースしないが、将来リリース予定のentity framework designer for Visual Studio 2012のプレリリースビルドが使用可能になるまでベータリリースを続けていく予定だ。
Microsoftはまた、ビューの生成とEntity Data Modelを表示(読み取り専用) 機能に関する修正を近いリリースで修正予定だ。
Calvin氏は以下のようにコメントする:
だから、コードファーストはデザイナを使用しません。コードファーストの視点では、もっとも興味深いのはこれもまたデザイナが必要ないReverse Engineer Code Firstです。これは面白いリリースの依存関係です。注意点としては、コードファーストはコードセントリックアプローチのためのすばらしい名前ではないことです。
Rowan Miller氏は以下のように返信する:
私がEFデザイナに含まれていると言うときは、本当にすべてのEFツール(EFデザイナ、Reverse Engineer Code First、その他のPower Tools機能)が単一のインストーラに含まれている(新しいバージョンのVisual Studioに含まれている)時です。私たちはテーブルなどを選択するためにデータベースファーストと同じウィザードを使用しようとしています。
私たちはその変更について議論しましたが、今それを変更することはあまりにも長すぎます。余談ですが、コードファーストでマッピングされた既存のデータベースを'コードセカンド'として参照すると聞きました。