我正在尝试基于本教程松散地创建一个ASP.NET MVC站点。 http://www.windowsazure.com/en-us/develop/net/tutorials/web-site-with-sql-database/
我正在使用VS2013预览版,它为我提供了创建ASP.NET MVC 5网站的选项。另外,使用以下包:
EntityFramework 6.0.0-rc1
Microsoft.AspNet.Identity.Core“1.0.0-alpha1
Microsoft.AspNet.Identity.EntityFramework 1.0.0-alpha1
配置网站并将其与Azure中的数据库相关联后,我继续在包管理器控制台中运行以下命令:
enable-migrations -ContextTypeName IdentityDbContext
add-migration Initial
当我使用指定的数据库发布到Azure并选中“执行代码优先迁移”复选框时,该站点已正确部署,但在检查我的数据库后,迁移未运行。我以前在使用ASP.Net MVC 4和EF 5.0的网站上成功完成了迁移。
我猜测问题是EF 6忽略了在发布期间设置的连接字符串,但我无法理解为什么。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:7)
关键部分是“执行代码优先迁移(在应用程序启动时运行)”
我希望有所帮助。
答案 1 :(得分:1)
这个问题已经标记为已回答,但在我在Azure上寻找自己部署的信息时,我发现此博客非常有用。然后我想分享,因为它简明扼要地介绍了使用Code First Migrations进行部署的所有可能方案。
希望对新搜索者有所帮助。
答案 2 :(得分:0)
当我遇到这种情况时,我需要将连接字符串更改为指向Azure数据库而不是本地SQLLite数据库。