Azure sql database 不支持代码优先更新数据库关键字
我正在使用以下连接字符串(来自Azure门户中的“显示数据库连接字符串”选项)连接到Azure SQL数据库Azure sql database 不支持代码优先更新数据库关键字,azure-sql-database,entity-framework-core,connection-string,Azure Sql Database,Entity Framework Core,Connection String,我正在使用以下连接字符串(来自Azure门户中的“显示数据库连接字符串”选项)连接到Azure SQL数据库 services.AddDbContext<PwttContext>(options => options.UseSqlServer("Server=tcp:<serverName>.database.windows.net,1433;Initial Catalog=<databaseName>;Persist Security Info=Fal
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';"));
我尝试了Authentication=”“Active Directory Password”“
和Authentication=“\Active Directory Password\”
来转义引号字符,但没有成功
如果我删除认证
关键字和值并使用
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;"));
services.AddDbContext(options=>options.UseSqlServer(“服务器=tcp:.database.windows.net,1433;初始目录=;持久化安全信息=False;用户ID=;密码=;MultipleActiveResultSets=False;加密=True;TrustServerCertificate=False;”);
然后我得到错误
System.Data.SqlClient.SqlException(0x80131904):无法打开服务器“organization.com”“由登录请求。登录失败
请在appsettings.json的以下连接字符串上使用SQL Azure数据库的管理员用户。如果您不知道管理员密码,请使用文章中提供的说明重置密码
startup.cs应如下所示:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
// Add database services.
services.AddDbContext<ApplicationContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("Development")));
}
这完全违背了使用Active Directory身份验证的目的,其要点是由于安全原因,连接凭据不会存储在连接字符串中。引发此错误的事实表明了一个潜在的问题,而不是用户使用了错误的连接字符串。请参见此处>>
{
"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;"
}
}
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");
}