实体框架6.0代码首次迁移到Azure SQL DB无法正常工作。

时间:2013-09-17 06:29:09

标签: asp.net-mvc entity-framework azure ef-migrations

我正在尝试基于本教程松散地创建一个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忽略了在发布期间设置的连接字符串,但我无法理解为什么。

任何帮助将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:7)

本指南内容全面:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application

关键部分是“执行代码优先迁移(在应用程序启动时运行)”

我希望有所帮助。

答案 1 :(得分:1)

这个问题已经标记为已回答,但在我在Azure上寻找自己部署的信息时,我发现此博客非常有用。然后我想分享,因为它简明扼要地介绍了使用Code First Migrations进行部署的所有可能方案。

http://blogs.msdn.com/b/webdev/archive/2014/04/09/ef-code-first-migrations-deployment-to-an-azure-cloud-service.aspx

希望对新搜索者有所帮助。

答案 2 :(得分:0)

当我遇到这种情况时,我需要将连接字符串更改为指向Azure数据库而不是本地SQLLite数据库。