Поскольку курс уже старый (скоро ждем новый!), а портал 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=PhotoSharingDB;
User ID=nn@name;Password=Pa$$w0rd;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" />
</connectionStrings>
В инициализаторе сменить базовый класс на CreateDatabaseIfNotExists, иначе Azure слишком долго пересоздает БД, что приводит к ошибке по таймауту:
public class PhotoSharingInitializer : CreateDatabaseIfNotExists<PhotoSharingContext>