Visual Studio 2012 NuGet パッケージ マネージャー コンソールを使用して新しいデータベースを作成しようとしています。移行を有効にするためのすべての手順を実行し、Migrations フォルダーが正常に作成され、その構成クラスが次のように定義されました。
internal sealed class Configuration : DbMigrationsConfiguration<MyMVC4Project.Infrastructure.CategoryDb>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(MyMVC4Project.Infrastructure.CategoryDb context)
{
context.Categories.AddOrUpdate(d => d.Name,
new Department() {Name = "dishes"},
new Department() {Name = "Appliances"},
new Department() {Name = "furniture"}
);
}
}
PM> update-database -Verbose
その時点で、エラーメッセージが表示されます:
Using StartUp project 'MyMVC4Project'.
Using NuGet project ' MyMVC4Project '.
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Target database is: 'MyMVC4Project.Infrastructure.CategoryDb' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).
No pending code-based migrations.
Running Seed method.
次に、App_dataフォルダーにデータベースが作成されません。SQL ExpressデータベースではなくlocalDbデータベースが見つかると予想されます。インストールされたSQL Expressインスタンスには「SQLExpress」とは異なる名前が付けられ、web.configではデフォルトの接続文字列がポイントしますlocalDB インスタンスに。
どうすればこの問題を解決できますか?