根据你的描述,我这边查了这个问题。我通过 VS 发布向导发布了我的 Web 应用程序,并手动配置了
AppContext
和 DefaultConnection
的连接字符串,如下所示:
由于我选择了在运行时使用此连接字符串(更新目标 web.config),您可以利用 KUDU 或 Azure App Service Editor 查看修改后的 web.config 并检查连接字符串设置。您可以关注的详细信息了解 Azure 应用服务编辑器.
两个不同的上下文都在 1 个数据库中....数据库 Datadb 充满了迁移和所有表。虽然我期待在 identitydb 上进行与用户相关的迁移。
从您发布的 web.config,您创建了一个 SQL Server (
escapegamessqlserver.database.windows.net
) 并为您的 DefaultConnection连接字符串创建了一个名为
identitydb
的 sql 数据库,为您的 AppContext连接字符串创建了一个名为
Datadb
的 sql 数据库。虽然,我不知道AppContext_DatabasePublish
从哪里来。但是根据您的myAppContext
和ApplicationDbContext
,连接字符串已指向相关的azure sql数据库,您的应用程序应该按预期工作。
此外,您可以在 Azure 门户的“设置 > 应用程序设置”下配置 DefaultConnection 和 AppContext 连接字符串,而不是为每个 DbContext 手动设置连接字符串。此时,您发布的 web.config 下的连接字符串不会被修改,应用服务将在运行时根据您在 Azure 门户上的配置覆盖连接字符串设置。有关更多详细信息,您可以按照在 Azure 应用服务中配置 Web 应用程序。
这就解决了。 我在 Azure 端的 web.config 中的设置被您可以在 Azure 门户中设置的连接字符串选项覆盖
应用服务 ->(应用名称)-> 应用程序设置 -> 连接字符串
有一个值被称为 defaultConnection 这个值覆盖了我在 web.config 文件中的设置