EF5代码优先Azure部署后,站点出错

时间:2013-01-11 20:18:29

标签: entity-framework azure asp.net-mvc-4 entity-framework-5 web-deployment

我正在尝试在Azure上部署MVC4 EF5代码优先应用程序。发布后,我在网站上收到此错误:

  

错误。处理您的请求时出错。

我猜那是因为这些表没有在数据库中创建?

我的关系字符串:

Data Source=tcp:6666666.database.windows.net,1433;Initial Catalog=eatart_db;User Id=kasperskov@6666666;Password=yourmother

我在配置中启用了自动迁移,我在部署时执行它:

internal sealed class Configuration : DbMigrationsConfiguration<EatArt.Models.EatArtDb>
{
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }
}

在我的Application_Start(global.asax)中:

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EatArtDb>());

也。此通知在我的天蓝色门户网站上弹出:

  

服务器在检索指标时遇到错误。重试   操作

我在这里缺少什么?我做错了吗?

2 个答案:

答案 0 :(得分:0)

我和EF有类似的问题。我的方法是放弃使用DropCreateDatabaseIfModelChanges并切换到使用迁移。这是关于code first migrations

的有用文章

将您的DropCreate行更改为:

Database.SetInitializer(new MigrateDatabaseToLatestVersion<EatArtDb, Configuration>());

您已启用自动迁移,但未在初始化程序中使用它们。

答案 1 :(得分:0)

正如Ben Tidman建议的那样,我将包管理器控制台中的Update-Database命令运行到Azure数据库上。这触发了表的创建,我能够立即部署页面视图。

聚苯乙烯。当然要将Trusted_Connection=falseencrypt=true添加到连接字符串中。