Ошибка при создании миграции Value cannot be null. (Parameter 'connectionString')

Понятно что параметр connectionString не может быть пустым. Но вот только он вроде не пустой.

Код appsettings.json

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=SPTest;Trusted_Connection=True;MultipleActiveResultSets=true"
    }
  }
}

Код Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<DbContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddTransient<IProductRepository, EFProductRepository>();
    services.AddControllersWithViews();
}

Ввожу Add-Migration, Затем ввожу имя и вылетает ошибка. Что не так?


Ответы (1 шт):

Автор решения: RusArt

Согласно документации метод GetConnectionString(name) является сокращением для GetSection("ConnectionStrings")[name].

То есть вам надо либо сменить конфиг на

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=SPTest;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

Либо использовать другой метод

Configuration.GetValue<string>("Data:DefaultConnection:ConnectionString")
→ Ссылка