不是使用Azure上的Entity Framework创建的表

时间:2014-02-12 14:05:46

标签: entity-framework azure azure-sql-database

我使用Code First和Fluent API使用Entity Framework。

在我的本地计算机上进行开发时,数据库和表格按预期创建,一切正常。

部署到我的Azure Web角色时,会创建数据库,但永远不会创建表。如果我尝试触摸DbContext的HTTP请求,请求超时,最后我的Web角色只返回“服务不可用”。

该模型很大,但并非极端(在我的开发机器上创建了43个表)。

这里有什么不对?这是我的Azure SQL连接字符串,您可以在其中看到我将超时设置得非常高:

<add name="MyConnectionString" connectionString="Server=tcp:myserveronazure.database.windows.net,1433;Database=MyDatabase;User ID=MyUser@myserveronazure;Password=thepassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=120;PersitSecurityInfo=true;" providerName="System.Data.SqlClient" />
编辑:在RDP之后:进入Azure VM,我在事件日志中看到w3wp.exe(IIS工作进程,如果我没有弄错的话)崩溃。日志不会列出任何错误消息。

1 个答案:

答案 0 :(得分:1)

Enityframework默认情况下有三个数据库初始化程序CreateDatabaseIfNotExistsDropCreateDatabaseWhenModelChangesDropCreateDatabaseAlways,当您第一次使用上下文时执行,如果您正在使用迁移(我认为是case)您必须使用MigrateDatabaseToLatestVersion初始化程序才能在应用程序部署中工作。希望它有效!