Читаем Язык программирования C#9 и платформа .NET5 полностью

using Microsoft.EntityFrameworkCore;

Службам API необходим доступ к ApplicationDbContext и хранилищам внутри уровня доступа к данным. Существует встроенная поддержка для добавления EF Core в приложения ASP.NET Core. Добавьте следующий код в метод ConfigureServices() класса Startup:

var connectionString = Configuration.GetConnectionString("AutoLot");

services.AddDbContextPool(

  options => options.UseSqlServer(connectionString,

  sqlOptions => sqlOptions.EnableRetryOnFailure()));

Первая строка кода получает строку подключения из файла настроек (более подробно рассматривается позже). Следующая строка добавляет в контейнер DI пул экземпляров ApplicationDbContext. Во многом подобно пулу подключений пул ApplicationDbContext может улучшить показатели производительности за счет наличия заранее установленных экземпляров, ожидающих потребления. Когда нужен контекст, он загружается из пула. По окончании его использования он очищается от любых следов применения и возвращается в пул.

Теперь необходимо добавить хранилища в контейнер DI. Вставьте в метод ConfigureServices() приведенный далее код после кода для конфигурирования ApplicationDbContext:

services.AddScoped();

services.AddScoped();

services.AddScoped();

services.AddScoped();

services.AddScoped();

<p id="AutBody_Root1391"><strong>Добавление строки подключения к настройкам приложения</strong></p>

Модифицируйте файл 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;"

  }

}

Как обсуждалось ранее, каждый конфигурационный файл именуется согласно среде, что позволяет разносить значения, специфичные к среде, по разным файлам. Добавьте в проект новый файл по имени appsettings.production.json и обновите его следующим образом:

{

  "ConnectionStrings": {

    "AutoLot": "ITSASECRET"

  }

}

Это предохраняет реальную строку подключения от системы управления версиями и делает возможным замену маркера (ITSASECRET) в течение процесса разработки.

<p id="AutBody_Root1392"><strong>AutoLot.Mvc</strong></p>

Метод ConfigureServices() для веб-приложений MVC добавляет базовые службы для приложений API и поддержку визуализации представлений. Вместо вызова AddControllers() в приложениях MVC вызывается AddControllersWithViews():

public void ConfigureServices(IServiceCollection services)

{

  services.AddControllersWithViews();

}

Добавьте в файл Startup.es показанные ниже операторы using:

using AutoLot.Dal.EfStructures;

using AutoLot.Dal.Initialization;

using AutoLot.Dal.Repos;

using AutoLot.Dal.Repos.Interfaces;

using Microsoft.EntityFrameworkCore;

Веб-приложение также должно использовать уровень доступа к данным. Добавьте в метод ConfigureServices() класса Startup следующий код:

var connectionString = Configuration.GetConnectionString("AutoLot");

services.AddDbContextPool(

  options => options.UseSqlServer(connectionString,

  sqlOptions => sqlOptions.EnableRetryOnFailure()));

services.AddScoped();

services.AddScoped();

services.AddScoped();

services.AddScoped();

services.AddScoped();

На заметку! Веб-приложение MVC будет работать как с уровнем доступа к данным, так и с API-интерфейсом для взаимодействия с данными, чтобы продемонстрировать оба механизма.

<p id="AutBody_Root1393"><strong>Добавление строки подключения к настройкам приложения</strong></p>
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных