背景 私が読んだ.Net 4.5をインストールしたマシンでVS 2010を使用していますが、これはインプレースインストールでした(.net 4.0バージョンをオーバーライドしました)。
私はまだ 4.0 を対象とするプロジェクトを持っており、4.5 オプションは利用できませんが、4.5 はインプレース インストールだったので問題ないと言われました。次に、ナゲット経由で EntityFramework -pre をインストールし、Upgrade-Database -Script コマンドを実行したときに、enum プロパティが生成されないことを通知しました。
その後、これを見つけました。すべてを最初からやり直しましたが、5.0 ではなく EntityFramework 4.4 を追加していました。そのため、すべての参照を 5.0 バージョンを指すように手動で変更して、EF 5.0 バージョンがあることを確認しました。すべてコンパイルされました。
問題 私が走るとき
Enable-Migrations -EnableAutomaticMigrations
「現在のプロジェクトで DbContext から派生したクラスが見つかりません。生成された構成クラスを編集して、移行を有効にするコンテキストを指定してください。」
したがって、次のようにクラスが正しいことを手動で確認しました。
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
DataContext は DbContext のサブクラスです。
私が走るとき
Update-Database -Script
" No migrations configuration type was found in the assembly 'MyProject'. (Visual Studio では、パッケージ マネージャー コンソールから Enable-Migrations コマンドを使用して、移行構成を追加できます) "というメッセージが表示されます。
MyProject には上記の構成クラスがあり、パッケージ マネージャー コンソールで、Migrations フォルダーとこの構成クラスを含むプロジェクトの適切なドロップダウンを選択しています。
質問
.Net 4.5 がインストールされていても、nuget を介して EnittyFramework をインストールするときに、4.4 ではなく 5.0 バージョンが追加されるようにするにはどうすればよいですか?
上記の質問に関連して何もできない場合、Upgrade-Database が確実にスクリプトを出力するようにするにはどうすればよいですか?