我已经使用我的MVC应用程序几周了,对模型进行了更改并重建等等。现在,在最近更改数据后,我的数据库没有得到重新生成的数据,因为global.asax中有策略Application_Start上的文件
所以,我手动从sql express中删除了数据库,以为它会在我构建时创建一个新数据库。不。
这是我的启动代码:
protected void Application_Start()
{
Models.cummins_sqldb c = new Models.cummins_sqldb();
c.Database.Initialize(true);
System.Data.Entity.Database.SetInitializer(new System.Data.Entity.CreateDatabaseIfNotExists<cummins_db.Models.cummins_sqldb>());
System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<cummins_db.Models.cummins_sqldb>());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
我在web.config文件中有连接字符串。
关于我可能尝试的任何建议?
答案 0 :(得分:0)
表中数据的外键字段,保持为null 它与新表定义冲突 解决方案是这样的:
// Create a department for course to point to.
Sql("INSERT INTO dbo.Department (Name, Budget, StartDate) VALUES ('Temp', 0.00, GETDATE())");
// default value for FK points to department created above.
AddColumn("dbo.Course", "DepartmentID", c => c.Int(nullable: false, defaultValue: 1));
//AddColumn("dbo.Course", "DepartmentID", c => c.Int(nullable: false));
Tom Dykstra,有很好的解决这个问题的教程: getting-started-with-ef-5-using-mvc-4
看一下(第4章),希望这是一个帮助
之后,您可以轻松回滚上次工作的迁移 然后更新数据库 进行一些更改并再次使用您的愿望更新您的数据库
哦伙计,我现在看到了约会的日期,希望它可以帮助其他人... :))