Отладка лабы 3 курса 20486B

Поскольку курс уже старый (скоро ждем новый!), а портал Azure совсем новый, то много ошибок возникает в указанной лабе. Что надо сделать, чтобы оно таки заработало c EF 6.1.3 и новым порталом Azure:

 

На портале Azure создать сервер, SQL базу данных и задать правила firewall для сервера. В правилах указать внешний IP.

Скопировать строку подключения из свойств SQL базы данных Azure

Исправить имя строки подключения в web.config на PhotoSharingContext, т.к. именно оно используется для dbcontext. В противном случае база создается в LocalDB.

Надо правильно написать строку подключения – добавить атрибут providerName=”System.Data.Client’' для элемента connectionStrings; атрибут connectionString точно скопировать из свойств SQL базы данных в Azure (ADO.NET). В итоге получаем:

<connectionStrings>
<add name="PhotoSharingContext"
providerName="System.Data.SQLClient"
connectionString="Server=tcp: name.database.windows.net,1433;
Database=PhotoSharingDB;
User ID=nn@name;Password=Pa$$w0rd;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" />
</connectionStrings>

В инициализаторе сменить базовый класс на CreateDatabaseIfNotExists, иначе Azure слишком долго пересоздает БД, что приводит к ошибке по таймауту:

public class PhotoSharingInitializer : CreateDatabaseIfNotExists<PhotoSharingContext>