gpt4 book ai didi

asp.net - 在 Azure Web App 中设置 EF 连接字符串

转载 作者:行者123 更新时间:2023-12-03 02:00:19 26 4
gpt4 key购买 nike

我们有一个 ASP .NET (MVC) 应用程序,并使用 Entity Framework 6 连接到我们的数据库。 DbContext 以标准方式构建,它代表我们加载连接字符串。生成的代码如下所示:

public partial class MyContext : DbContext
{
public MyContext(string connectionName)
: base("name=" + connectionName)
{
}
}

我们也以标准方式在本地 web.config 中设置连接字符串:

<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="metadata=...;provider connection string=&quot;...&quot;"
providerName="System.Data.EntityClient" />

当我们将应用程序发布到 Azure 时,我们导航到 Azure 门户,然后导航到 Web 应用程序的设置,然后导航到连接字符串列表。在那里,我们添加本地使用的 EF 连接字符串。当我们重新启动并访问应用程序时,我们会收到运行时错误,具体取决于我们选择的连接字符串类型。

对于 Custom 类型,我们收到以下运行时错误:

Keyword not supported: 'data source'.

对于 SQL ServerSQL 数据库,我们收到以下运行时错误:

Keyword not supported: 'metadata'.

这看起来确实是一个简单的故事,所以我们想知道出了什么问题。

最佳答案

问题是转义引号:"

web.config 中的连接字符串已转义引号,因为它们是在 XML 属性中序列化的。在 Azure 门户中输入连接字符串时,应提供原始未转义字符串。像这样的事情:

元数据=...;提供商连接字符串=“数据源=...”

David Ebbo 的回答非常有助于确认环境是否按照您的预期设置。通过 Visual Studio 中的向导进行发布时,注意 .pubxml 文件也很有帮助:它也会尝试填充连接字符串。

关于asp.net - 在 Azure Web App 中设置 EF 连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com