Mamy aplikację ASP .NET (MVC) i używamy architektury Entity Framework 6 do łączenia się z naszymi bazami danych. DbContext jest skonstruowany w standardowy sposób i ładuje ciąg połączenia w naszym imieniu. Wygenerowany kod wygląda następująco:Ustawienie łańcucha połączenia EF w aplikacji sieci Web Azure
public partial class MyContext : DbContext
{
public MyContext(string connectionName)
: base("name=" + connectionName)
{
}
}
Stawiamy ciąg połączenia w lokalnej web.config również w standardowy sposób:
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="metadata=...;provider connection string="...""
providerName="System.Data.EntityClient" />
Kiedy opublikować aplikację do Azure możemy przejść do Azure Portal, następnie do Ustawień aplikacji sieci Web, a następnie do listy Ciągów połączeń. Tam dodajemy ciąg połączenia EF, który używaliśmy lokalnie. Po ponownym uruchomieniu i odwiedzeniu aplikacji otrzymujemy błąd wykonania w zależności od wybranego przez nas typu połączenia.
Dla Custom
typu otrzymujemy następujący błąd czasu wykonywania:
Keyword not supported: 'data source'.
Dla SQL Server
lub SQL Database
otrzymujemy następujący błąd czasu wykonywania:
Keyword not supported: 'metadata'.
To naprawdę wydaje się to proste opowiadania, więc zastanawiamy się, co jest nie tak.
Zajrzyj tutaj: http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/ – Fals