6

まったく新しい Web API プロジェクトを作成し、単純な Code First モデル (id と dbcontext オブジェクトを持つ 1 つのクラス、それだけです) を作成し、パッケージ マネージャー コンソールで Enable-Migrations を実行しました。

Web.config ファイルの (LocalDB) を指す DefaultConnection 文字列にもかかわらず、LocalDB ではなく SQLEXPRESS にデータベースが作成されることに気付きました。これにより、データベースが初期化されていないと主張して、後続のクエリが失敗します。

VS 2012 で Enable-Migrations コマンドが SQLExpress ではなく LocalDB を指すようにするにはどうすればよいですか? SQL Management Studio 2012 Express をインストールして、SQLEXPRESS データベースを停止しようとしましたが、Enable-Migration コマンドが失敗するだけです。

任意のヒント?

注: VS 2010 とそれに付属するすべての既定のソフトウェア (SQL Server など) がインストールされているため、おそらく干渉している可能性があります。

4

2 に答える 2

3

私が見つけることができたのはこれだけでした:

SQL Express がインストールされている場合 (Visual Studio 2010 に含まれています)、ローカルの SQL Express インスタンス (.\SQLEXPRESS) にデータベースが作成されます。SQL Express がインストールされていない場合、Code First は LocalDb ((localdb)\v11.0) を使用しようとします - LocalDb は Visual Studio 2012 に含まれています。

注: SQL Express がインストールされていれば、Visual Studio 2012 を使用している場合でも常に優先されます。

ここに。

于 2013-02-26T20:46:04.343 に答える