0

我正在尝试在 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>());

还。此通知在我的 azure 门户上弹出:

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

我在这里想念什么?我做错什么了吗?

4

2 回答 2

0

我对 EF 也有类似的问题。我的方法是从DropCreateDatabaseIfModelChanges使用迁移转向使用迁移。这是一篇关于代码优先迁移的有用文章

将您的行更改DropCreate为:

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

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

于 2013-01-11T20:49:47.743 回答
0

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

附言。当然必须添加Trusted_Connection=falseencrypt=true连接字符串..

于 2013-01-14T15:39:33.333 回答