我似乎使用启用迁移和更新数据库的基本功能出现问题。在将其复制到不同的PC之前,我已经有了已经启用的项目。ASP.NET MVC 4和EF5:如何使用启用迁移/更新数据库
正在使用VS 2010 Ultimate,SQL Server 2008 R2 Express,MVC 4和EF5。
在我的配置I类有:
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(RecruitDB.ModelContext.RecruitModelContext context)
{
context.Statuses.AddOrUpdate(
s => s.ProgressStatus,
new Status { ProgressStatus = "Interview Arranged" },
new Status { ProgressStatus = "Candidate Rejected" },
new Status { ProgressStatus = "Candidate Accepted" },
new Status { ProgressStatus = "Job Offer Made" },
new Status { ProgressStatus = "Job Offer Accepted" },
new Status { ProgressStatus = "Job Offer Declined" }
);
// etc
在我的web.config,我有EF设置为指向数据库的招聘。
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
<connectionStrings>
<add name="RecruitModelContext" providerName="System.Data.SqlClient" connectionString="Server=.\SQLEXPRESS;Initial Catalog=Recruitment;Integrated Security=True;MultipleActiveResultSets=true" />
</connectionStrings>
为什么我的数据库是通过名称RecruitDB.ModelContext.RecruitModelContext创建的?
有什么方法可以阻止这种情况发生?
我尝试使用Enable-Migrations -Force进行重置,并在覆盖后重写我的配置文件。
有时我会得到正确命名的招聘数据库,并开始使用该应用程序。随后,我无法运行Seed方法。我最终不得不删除数据库并重新开始。
欣赏职位。连接字符串的简单重命名并不像以前那样停止创建数据库。然后,当我运行应用程序时,它创建了一个名为Recruitment的不同数据库。所以遵循你的建议,删除数据库,然后按照步骤1-4。这与在步骤2之后添加的启用迁移命令一起工作。 – mikepoole72