我正在发布一个 Azure Web 应用程序,在执行代码优先迁移时遇到了一个奇怪的问题。
如果我不选中“执行代码优先迁移”,则该数据库的远程连接字符串工作正常。
但是,如果我选中该框,则会将一个带有奇怪拼写错误的奇怪连接字符串“ConnetionString”注入(inject)到远程 web.config 中:
<add name="DbContext_DatabasePublish" connectionString="DbContext_DatabasePublish.ConnetionString" providerName="System.Data.SqlClient" />
这当然不是有效的连接字符串,EF 初始化程序会抛出此异常
Format of the initialization string does not conform to specification starting at index 0
无论本地连接字符串引用 localdb,还是本地 web.config 中根本没有定义连接字符串,发布行为都是相同的。
我是否遗漏了一些明显的东西?
最佳答案
在 Azure 中,我最终必须为 DbContext
和 DbContext_DatabasePublish
定义连接字符串才能执行迁移。这个MSDN post和 this answer最终让我得出这个结论。
我不确定为什么我没有看到更多关于此问题的引用。这似乎是一个常见问题。
关于azure - 使用远程连接字符串在 Azure 上执行代码优先迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30562237/