Code First Update - ключевое слово базы данных не поддерживается - PullRequest
0 голосов
/ 29 мая 2018

Я использую следующую строку подключения (из опции «Показать строки подключения к базе данных» на портале Azure ») для подключения к базе данных SQL Azure;

services.AddDbContext<PwttContext>(options => options.UseSqlServer("Server=tcp:<serverName>.database.windows.net,1433;Initial Catalog=<databaseName>;Persist Security Info=False;User ID=<userId@organisation.com>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication='Active Directory Password';"));

Однако при запуске Update-Database в консоли диспетчера пакетов я получаю следующую ошибку:

System.ArgumentException: Keyword not supported: 'authentication'

Я попытался Authentication=""Active Directory Password"" и Authentication="\Active Directory Password\", чтобы экранировать символы кавычек безуспешно.

Если я удаляюAuthentication ключевое слово, значение и использование;

services.AddDbContext<PwttContext>(options => options.UseSqlServer("Server=tcp:<serverName>.database.windows.net,1433;Initial Catalog=<databaseName>;Persist Security Info=False;User ID=<userId@organisation.com>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;"));

Я получаю ошибку System.Data.SqlClient.SqlException (0x80131904): Cannot open server "organisation.com" requested by the login. The login failed

1 Ответ

0 голосов
/ 29 мая 2018

Используйте пользователя-администратора вашей базы данных SQL Azure в следующей строке подключения appsettings.json.Если вы не знаете пароль администратора, сбросьте пароль, следуя инструкциям, приведенным в этой статье.

{
"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
    "Default": "Warning"
}
},
"ConnectionStrings": {
    "Development": "Server=tcp:YourServername.database.windows.net,1433;Initial Catalog=TheNameOfTheDatabase;Persist Security Info=False;User ID=User;Password=Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
}
}

Файл startup.cs должен выглядеть следующим образом:

public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddMvc();

        // Add database services.
        services.AddDbContext<ApplicationContext>(options => 
            options.UseSqlServer(Configuration.GetConnectionString("Development")));
    }

Укажите имя базы данных ниже:

ApplicationContext.cs. 
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("Data Source=DatabaseNameHere");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...