Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用新数据库的所有表结构创建新迁移_C#_Asp.net Mvc_Entity Framework_Entity Framework Migrations - Fatal编程技术网

C# 使用新数据库的所有表结构创建新迁移

C# 使用新数据库的所有表结构创建新迁移,c#,asp.net-mvc,entity-framework,entity-framework-migrations,C#,Asp.net Mvc,Entity Framework,Entity Framework Migrations,我正在做一个项目。在编写代码的同时,我在我的机器上的本地SQLLite上创建了数据库。现在,我需要将其投入生产,而我无法让迁移创建任何非空白的内容 这是我的旧连接字符串: <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=helpdesk;Integrated Security=True" providerName="System.Data.SqlClien

我正在做一个项目。在编写代码的同时,我在我的机器上的本地SQLLite上创建了数据库。现在,我需要将其投入生产,而我无法让迁移创建任何非空白的内容

这是我的旧连接字符串:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=helpdesk;Integrated Security=True" providerName="System.Data.SqlClient" />
我在下面找到了Steve Greene建议的有关初始值设定者的链接()

它建议使用这一行代码:

Database.SetInitializer(new DropCreateDatabaseAlways<BlogContext>());
Database.SetInitializer(新的DropCreateDatabaseAlways());

在主要方法中。但是,我没有主方法或任何类似的方法。

通常,如果我想从头开始,我会这样做

  • 删除本地数据库。-你可以采取备份等

  • 从我的项目中删除迁移文件夹。(签入到源) 控制任何模型更改,这有时会导致问题)

  • 为我的项目运行“启用迁移”命令。(这应加上: “迁移”文件夹)

  • 运行添加迁移初始值。(这应该是 脚手架(数据库初始化)

  • 运行updatedatabase命令(或运行使用 数据库上下文)


您的初始值设定项设置为什么?@SteveGreene抱歉,初始值设定项是什么?它确定EF是否以及何时创建新数据库@SteveGreene我在我的原始问题中添加了更多的信息。是的,把它放在你上下文的构造器中。静态AppContext(){Database.SetInitializer(…);}
public partial class Initial : DbMigration
{
    public override void Up()
    {
    }

    public override void Down()
    {
    }
}
Database.SetInitializer(new DropCreateDatabaseAlways<BlogContext>());