【问题标题】:MVC 4 - cannot create database using NuGet Package manager consoleMVC 4 - 无法使用 NuGet 包管理器控制台创建数据库
【发布时间】:2012-11-29 14:49:40
【问题描述】:

我正在尝试使用 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 实例。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-19
      • 2014-07-24
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2019-11-12
      相关资源
      最近更新 更多