options => options.UseSqlServer(connectionString,
  sqlOptions => sqlOptions.EnableRetryOnFailure()));
services.AddScoped<ICarRepo, CarRepo>();
services.AddScoped<ICreditRiskRepo, CreditRiskRepo>();
services.AddScoped<ICustomerRepo, CustomerRepo>();
services.AddScoped<IMakeRepo, MakeRepo>();
services.AddScoped<IOrderRepo, OrderRepo>();
На заметку! Веб-приложение MVC будет работать как с уровнем доступа к данным, так и с API-интерфейсом для взаимодействия с данными, чтобы продемонстрировать оба механизма.
 Добавление строки подключения к настройкам приложения
 Модифицируйте файл appsettings.development.json, как показано ниже:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "ConnectionStrings": {
    "AutoLot": "Server=.,5433;Database=AutoLotFinal;
    User ID=sa;Password=P@ssw0rd;"
  }
}
 Метод Configure()
 Метод Configure() применяется для настройки приложения на реагирование на запросы HTTP. Данный метод выполняется после метода ConfigureServices(), т.е. все, что добавлено в контейнер DI, также может быть внедрено в Configure(). Существуют различия в том, как приложения API и MVC конфигурируются для обработки запросов и ответов HTTP в конвейере.
 AutoLot.Api
 Внутри стандартного шаблона выполняется проверка среды, и если она установлена в Development (среда разработки), тогда в конвейер обработки добавляется промежуточное ПО UseDeveloperExceptionPage(), предоставляющее отладочную информацию, которую вы вряд ли захотите отображать в производственной среде. Далее производится вызов UseHttpsRedirection() для перенаправления всего трафика на HTTPS (вместо HTTP). Затем добавляются вызовы арр.UseRouting(), арр.UseAuthorization() и арр.UseEndpoints(). Вот полный код метода:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  if (env.IsDevelopment())
  {
    // Если среда разработки, тогда отображать отладочную информацию.
 (window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})
    app.UseDeveloperExceptionPage();
    // Первоначальный код.
    app.UseSwagger();
    app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",
      "AutoLot.Api v1"));
  }
  // Перенаправить трафик HTTP на HTTPS.
  app.UseHttpsRedirection();
  // Включить маршрутизацию.
  app.UseRouting();
  // Включить проверки авторизации.
  app.UseAuthorization();
  // Включить маршрутизацию с использованием конечных точек.
  // Использовать для контроллеров маршрутизацию с помощью атрибутов.
  app.UseEndpoints(endpoints =>
  {
    endpoints.MapControllers();
  });
}
Кроме того, когда приложение запускается в среде разработки, необходимо инициализировать базу данных. Добавьте в метод Configure() параметр типа ApplicationDbContext и вызовите метод InitializeData() из AutoLot.Dal.
Ниже показан модифицированный код:
public void Configure(
  IApplicationBuilder app,
  IWebHostEnvironment env,
<b>  ApplicationDbContext context)</b>
{
  if (env.IsDevelopment())
  {
    // Если среда разработки, тогда отображать отладочную информацию.
 (window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})
    app.UseDeveloperExceptionPage();
<b>    // Инициализировать базу данных.</b>
<b>   if (Configuration.GetValue<bool>("RebuildDataBase"))</b>
<b>    {</b>
<b>      SampleDataInitializer.InitializeData(context);</b>
<b>    }</b>
   }
  ...
}
Обновите файл appsettings.development.json с учетом свойства RebuildDataBase (пока что установив его в false):
{
  "Logging": {
    "LogLevel": {