我有一个我正在研究的项目。我编码的时候,我已经在我的机器上的Local SQL lite上创建了数据库。现在,我需要将其投入生产,我不能让迁移创建任何非空白的东西。
这是我的旧连接字符串:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=helpdesk;Integrated Security=True" providerName="System.Data.SqlClient" />
我把它变成了这个:
<add name="DefaultConnection" connectionString="Server=SQL50;Database=HelpDesk;Trusted_Connection=true;" providerName="System.Data.SqlClient" />
我试过这个帖子(Reset Entity-Framework Migrations):
每当我尝试创建一个新的迁移时,这就是我得到的:
public partial class Initial : DbMigration
{
public override void Up()
{
}
public override void Down()
{
}
}
我发现这个关于Initializers的链接正如Steve Greene Below(http://www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm)
所建议的那样它建议使用这行代码:
Database.SetInitializer(new DropCreateDatabaseAlways<BlogContext>());
在主要方法中。但是,我没有主要方法或任何类似的方法。
答案 0 :(得分:0)
如果我想从头开始,这就是我的工作。
删除本地数据库。 - 你可以备份等
从我的项目中删除迁移文件夹。(签入源代码 控制任何模型更改,这有时会导致问题)。
为我的项目运行Enable-Migrations命令。 (这应该补充 迁移文件夹)。
运行Add-Migration Initial。 (这应该 db init脚手架。
运行Update-Database命令(或运行使用的应用程序 DBContext)。