Entity Framework デザイナーでの ObjectContext への復帰

以前のバージョンの Entity Framework では、EF デザイナーで作成されたモデルによって、ObjectContext から派生したコンテキストと、EntityObject から派生したエンティティ クラスが生成されました。

EF4.1 以降では、DbContext エンティティ クラスと POCO エンティティ クラスから派生するコンテキストを生成するコード生成テンプレートへの変更を推奨しました。

Visual Studio 2012 では、EF デザイナーで作成されるすべての新しいモデルに対して、DbContext コードが既定で生成されます。 既存のモデルでは、DbContext ベースのコード ジェネレーターへの変更を指定しない限り、引き続き ObjectContext ベースのコードが生成されます。

ObjectContext コード生成への復帰

1. DbContext コード生成を無効にする

派生した DbContext クラスと POCO クラスの生成は、プロジェクト内の 2 つの .tt ファイルによって処理されます。ソリューション エクスプローラーで .edmx ファイルを展開すると、これらのファイルが表示されます。 プロジェクトからこれらの両方のファイルを削除します。

Code Gen Files

VB.NET を使用している場合、入れ子になったファイルを表示するには、[すべてのファイルを表示] ボタンを選択する必要があります。

Show All Files

2. ObjectContext コード生成を再度有効にする

EF デザイナーでモデルを開き、デザイン サーフェイスの空白のセクションを右クリックして、[プロパティ] を選択します。

[プロパティ] ウィンドウで、[コード生成方法] の値を [なし] から [既定] に変更します。

Code Gen Strategy