3

我正在尝试使用 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>更新数据库-详细

此时我看到错误消息:

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 实例。

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

4

1 回答 1

0

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

于 2013-05-18T13:49:22.657 回答