Добавление подключения к База данных SQL Azure

С помощью Visual Studio можно подключить любое из следующих элементов к База данных SQL Azure с помощью функции Подключение ed Services:

  • консольное приложение платформа .NET Framework
  • ASP.NET контроллер модели-представления (MVC) (платформа .NET Framework)
  • ASP.NET Core
  • .NET Core (включая консольное приложение, WPF, Windows Forms, библиотеку классов)
  • Рабочая роль .NET Core
  • Функции Azure
  • приложение универсальная платформа Windows
  • Xamarin
  • Cordova

Подключенные службы добавляют необходимые ссылки и код подключения в проект и вносят соответствующие изменения в файлы конфигурации.

Примечание.

Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Подключенные службы в Visual Studio для Mac.

Необходимые компоненты

Подключение База данных SQL Azure с помощью Подключение служб

  1. Откройте проект в Visual Studio.

  2. В Обозреватель решений щелкните правой кнопкой мыши узел Подключение служб и в контекстном меню выберите "Добавить", чтобы открыть меню доступных служб.

    Screenshot showing Connected Services context menu options.

  3. Выберите базу данных SQL Server. Откроется страница Подключение зависимостей. Вы увидите несколько вариантов:

    • SQL Server Express LocalDB, встроенное База данных SQL предложение, установленное с помощью Visual Studio
    • База данных SQL Server на локальном контейнере на компьютере
    • База данных SQL Server, локальная среда SQL Server в локальной сети
    • База данных SQL Azure для База данных SQL, работающей в качестве службы Azure

    Вы можете сократить затраты и упростить раннюю разработку, начиная с локальной базы данных. Вы можете перейти в динамическую службу в Azure позже, повторив эти действия и выбрав другой вариант. Если вы создаете базу данных локально, которую вы хотите повторно создать в Azure, вы можете перенести базу данных в Azure в то время.

    Screenshot showing SQL Database choices.

    Если вы хотите подключиться к службе Azure, перейдите к следующему шагу или, если вы еще не вошли, войдите в учетную запись Azure, прежде чем продолжить. Если у вас нет учетной записи Azure, вы можете зарегистрироваться и получить бесплатную пробную версию.

  4. На экране "Настройка База данных SQL Azure" выберите существующую База данных SQL Azure и нажмите кнопку "Далее".

    Если вам нужно создать новый компонент, перейдите к следующему шагу. В противном случае перейдите к шагу 7.

    Screenshot showing

  5. Чтобы создать базу данных SQL Azure, выполните приведенные действия.

    1. Нажмите кнопку "Создать" по зеленому знаку плюса.

    2. Заполните База данных SQL Azure: создайте новый экран и нажмите кнопку "Создать".

      Screenshot showing

    3. При отображении экрана "Настройка База данных SQL Azure" новая база данных появится в списке. Выберите новую базу данных в списке и нажмите кнопку "Далее".

  6. Введите имя строка подключения или выберите значение по умолчанию и выберите, хотите ли строка подключения храниться в локальном файле секретов или в Azure Key Vault.

    Screenshot showing

  7. На экране "Сводка изменений" отображаются все изменения, которые будут внесены в проект при завершении процесса. Если изменения выглядят ОК, нажмите кнопку "Готово".

    Screenshot showing

    Если появится запрос на настройку правил брандмауэра, нажмите кнопку "Да".

    Screenshot showing firewall rules.

  8. В Обозреватель решений дважды щелкните узел Подключение служб, чтобы открыть вкладку Подключение ed Services. Подключение отображается в разделе "Зависимости службы":

    Screenshot showing

    Если щелкнуть три точки рядом с добавленной зависимостью, можно увидеть различные параметры, такие как Подключение повторно открыть мастер и изменить подключение. Вы также можете щелкнуть три точки в правом верхнем углу окна, чтобы просмотреть параметры для запуска локальных зависимостей, изменения параметров и т. д.

Доступ к строка подключения

Узнайте, как безопасно хранить секреты, следуя Сейф хранению секретов приложений в разработке в ASP.NET Core. В частности, чтобы прочитать строка подключения из хранилища секретов, можно добавить код, как в разделе "Чтение секрета" через API конфигурации. См. также внедрение зависимостей в ASP.NET Core.

Миграции Entity Framework

Это может быть удобно для работы с локальным хранилищем данных во время ранней разработки, но с Entity Framework Core, когда вы будете готовы перейти в облако, вы можете использовать поддержку Visual Studio для миграции Entity Framework для перемещения базы данных или слияния изменений с удаленным хранилищем данных. Обзор миграций.

На вкладке Подключение служб можно найти команды миграции, щелкнув три точки, как показано на снимке экрана:

Screenshot showing migration commands.

Команды доступны для создания новых миграций, их непосредственного применения или создания скриптов SQL, которые применяют миграцию.

Добавление миграции

При изменении модели данных можно использовать средства Entity Framework Core для добавления соответствующей миграции, описывающей в коде обновления, необходимые для синхронизации схемы базы данных. Entity Framework Core сравнивает текущую модель с моментальным снимком старой модели, чтобы определить различия и создать исходные файлы миграции. Файлы добавляются в проект, как правило, в папке с именем Migrations и могут отслеживаться в системе управления версиями проекта, как и любой другой исходный файл.

При выборе этого параметра вам будет предложено указать имя класса контекста, представляющее схему базы данных, которую требуется перенести.

Screenshot showing adding an Entity Framework migration.

Обновление базы данных

После создания миграции его можно применить к базе данных. Entity Framework обновляет базу данных и схему с изменениями, указанными в коде миграции. При выборе этого параметра вам будет предложено указать имя класса контекста, представляющее схему базы данных, которую требуется перенести.

Создание скрипта SQL

Рекомендуемый способ развертывания миграции в рабочую базу данных — создание скриптов SQL. К преимуществам этой стратегии относятся следующие преимущества:

  • Скрипты SQL можно проверить для точности; Это важно, так как применение изменений схемы к рабочим базам данных является потенциально опасной операцией, которая может привести к потере данных.
  • В некоторых случаях скрипты можно настроить в соответствии с конкретными потребностями рабочей базы данных.
  • Скрипты SQL можно использовать в сочетании с технологией развертывания и даже создавать в рамках процесса CI.
  • Скрипты SQL можно предоставлять в DBA и управлять и архивировать отдельно.

При использовании этого параметра вам будет предложено класс контекста базы данных и расположение файла скрипта.

Screenshot showing the Generate SQL script option.

Открытие в SQL Server обозреватель объектов

Для удобства эта команда позволяет перейти к обозреватель объектов SQL Server, чтобы просматривать таблицы и другие сущности базы данных и работать непосредственно с данными. См . обозреватель объектов.

Screenshot showing SQL Server Object Explorer.

Следующие шаги

Вы можете продолжить работу с краткими руководствами по База данных SQL Azure, но вместо начала можно начать после настройки начального подключения. Если вы используете Entity Framework, вы можете начать с добавления кода для подключения к База данных SQL Azure. Если вы используете SqlClient или ADO.NET классы данных, можно начать с добавления кода для подключения к База данных SQL Azure.

Код не будет точно соответствовать тому, что используется в кратких руководствах, которые используют другой способ получения строка подключения. Строка подключения являются секретами и безопасно хранятся, как описано в Сейф хранении секретов приложений в разработке в ASP.NET Core. В частности, чтобы прочитать строка подключения из хранилища секретов, можно добавить код, как в разделе "Чтение секрета" через API конфигурации. В проектах ASP.NET Core строка подключения, созданные Подключение Services, доступны в объекте конфигурации. К нему можно получить доступ по свойству класса WebApplicationBuilder (builder во многих шаблонах проектов), как показано в следующем примере:

var connection = builder.Configuration["ConnectionStrings:ConnectionString1"];