我們有一個ASP .NET(MVC)應用程序,並且正在使用實體框架6來連接到我們的數據庫。 DbContext是以標準方式構造的,它代表我們加載連接字符串。生成的代碼看起來是這樣的:在Azure Web App中設置EF連接字符串
public partial class MyContext : DbContext
{
public MyContext(string connectionName)
: base("name=" + connectionName)
{
}
}
我們在當地web.config中設置連接字符串還以標準的方式:
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="metadata=...;provider connection string="...""
providerName="System.Data.EntityClient" />
當我們發佈應用到Azure中,我們導航到Azure的門戶,然後轉到Web應用程序的設置,然後轉到連接字符串列表。在那裏,我們添加了我們在本地使用的EF連接字符串。當我們重新啓動並訪問應用程序時,根據我們選擇的連接字符串的類型,我們會得到運行時錯誤。
對於Custom
類型,我們得到以下運行時錯誤:
Keyword not supported: 'data source'.
對於SQL Server
或SQL Database
我們得到以下運行時錯誤:
Keyword not supported: 'metadata'.
這確實似乎是一個簡單的故事,所以我們想知道發生了什麼問題。
更換
"
看看這裏:http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/ – Fals