Как прочитать строку подключения, используя конфигурацию в. NET CORE 3.1 - PullRequest
0 голосов
/ 17 апреля 2020

Я переношу свой код с. NET CORE 2.2 на. NET CORE 3.1. Я столкнулся с приведенной ниже ошибкой при чтении строки подключения из настроек приложения. json

"" Конфигурация "не содержит определения для" GetConnectionString ""

Я использую приведенный ниже код в файле startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
    services.AddDbContext<AppDbContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}

Мои настройки приложения. json как указано ниже

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },

  "ConnectionStrings": {
    "DefaultConnection": "Data Source=abc.net;Initial Catalog=xyz;User ID=paper;Password=pencil"
  },
  "AllowedHosts": "*",

  "serverSigningPassword": "key",
  "accessTokenDurationInMinutes": 2
}

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

1 Ответ

1 голос
/ 17 апреля 2020

Есть несколько вещей, которые нужно отметить,

Вы ввели в конструктор?

public Startup(IConfiguration configuration)
{
  Configuration = configuration;
}

public IConfiguration Configuration { get; }

и используете его как

 public void ConfigureServices(IServiceCollection services)
  {
     var connection = Configuration.GetConnectionString("DefaultConnection");
     services.AddDbContext<ShelterPZ_DBContext>(options => options.UseSqlServer(connection));
     services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...