MVC 4 - 无法使用NuGet包管理器控制台创建数据库

时间:2012-12-12 00:04:11

标签: asp.net-mvc-4 visual-studio-2012 nuget database-migration localdb

我正在尝试使用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&GT; 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文件夹中没有创建数据库,我期望找到一个localDb数据库而不是SQL Express数据库,然后安装的SQL Express实例的名称与“SQLExpress”不同,并且在我的web.config中默认连接字符串指向localDB实例。

请问,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

由于某些我无法知道的原因,您无法从sqlServer看到数据库,但是,由于您没有隐式地访问数据库,因此尚未创建数据库。你需要做DB.SaveChanger();或者以任何其他方式在代码中命中数据库。