我使用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工作进程,如果我没有弄错的话)崩溃。日志不会列出任何错误消息。
答案 0 :(得分:1)
Enityframework默认情况下有三个数据库初始化程序CreateDatabaseIfNotExists
,DropCreateDatabaseWhenModelChanges
和DropCreateDatabaseAlways
,当您第一次使用上下文时执行,如果您正在使用迁移(我认为是case)您必须使用MigrateDatabaseToLatestVersion
初始化程序才能在应用程序部署中工作。希望它有效!