我开发了一个应用程序服务,其中包含一些表和索引,这些表和索引包含在两个dbcontext中:1和2。
当我部署此应用程序服务并通过http访问它时,应执行初始迁移。实际上:
错误消息指出table xyz already exists
。该表仅创建一次,并且__efmigrationhistory仅包含dbcontext 1的条目。因此,对我来说,好像它以某种方式停止执行dbcontext 2一样,因此没有插入Migration-entry,然后决定重新运行它,仅确定该表已经存在。
我想知道为什么没有错误告诉我索引创建失败了?我在web.config中将stdoutLogEnabled设置为true,但是除了上述记录外没有错误。
如果我更改代码以首先执行dbcontext 2,则在执行dbcontext 1 table abc already exists
时会出错。
如果删除数据库并再次调用迁移,则会得到另一个数据库状态(索引每次都不同)。因此,我认为可能是超时,但是我将mysql的命令和连接超时都设置为3600,而没有更改。
如果我在本地运行此应用程序服务并将其连接到同一台Azure mysql服务器,则一切都会按预期创建。我不知道有什么不同...
我想使用command logging,但似乎没有核心实现。
您知道什么超时可能是问题吗?
有什么办法记录错误发生的地方吗?