Azure Functions .NET Core中的EF Core 2.0连接字符串
我使用.net核心在Azure Functions中使用EF core 2.0。 我正在尝试从local.settings.json读取db ConnectionString,其定义如下:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "AzureWebJobsDashboard": "UseDevelopmentStorage=true" }, "ConnectionStrings": { "MyDbConnStr": "Data Source=.;Initial Catalog=xxxxxxx" } }
Environment.GetEnvironmentVariable()不返回任何连接字符串信息,我也不能使用带有.net核心的ConfigurationManager.ConnectionStrings。 如何从代码中访问连接字符串?
您可以使用Microsoft.Azure.WebJobs.Host
一个帮助程序类:
AmbientConnectionStringProvider.Instance.GetConnectionString("MyDbConnStr")
这个类将工作委托给名为ConfigurationUtility
内部类,它可以执行某些操作
var configuration = new ConfigurationBuilder() .AddEnvironmentVariables() .AddJsonFile("appsettings.json", true) .Build(); var conn = configuration.GetConnectionString("MyDbConnStr");
您可以使用Environment.GetEnvironmentVariable
。 键是“ConnectionStrings:YourKey”
假设您的local.settings.json如下所示:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "AzureWebJobsDashboard": "UseDevelopmentStorage=true" }, "ConnectionStrings": { "sqldb_connection": "connection_string_here" } }
使用Environment.GetEnvironmentVariable("ConnectionStrings:sqldb_connection", EnvironmentVariableTarget.Process);
获得价值