Правильный способ отправки строки подключения из.Приложение Net core в библиотеку классов

#asp.net-core #architecture

#asp.net-core #архитектура

Вопрос:

У меня есть .Приложение Net core MVC и библиотека классов имеют имена UIServiceLayer. UIServicelayer имеет следующие классы:

  1. страница открытого класса.
  2. внутренний виджет класса.
  3. внутренний класс WidgetType.
  4. — еще несколько внутренних классов, связанных с объектами пользовательского интерфейса.
  5. внутренние данные класса.

В UIServicelayer общедоступным является только класс Page, и это единственная точка взаимодействия с UIServicelayer.

У меня есть строка подключения, хранящаяся в файле appsettings.json приложения .Net Core MVC, который мне нужно передать в класс Data.cs, чтобы он мог установить соединение с БД.

Проблема в том, что я не хочу передавать строку подключения через класс Page.cs, потому что класс Page не должен иметь отношения ни к чему, кроме страницы пользовательского интерфейса, виджетов и прочего, и я также не хочу помечать класс данных как общедоступный, потому что я не хочу, чтобы мое приложение .Net Core отображаловзаимодействуйте с классом данных напрямую.

Может кто-нибудь подсказать мне, как передать строку подключения к классу данных из моего приложения .Net Core?

Комментарии:

1. Какова связь между классом страницы в приложении .net core и классом librabry? Если вы получите данные в Data.cs, будут ли они продолжать возвращаться в приложение .net core?

2. @Karney. Приложение .Net core может запрашивать у класса страницы такие вещи, как «Дайте мне список всех виджетов в этой конкретной форме» или «Дайте мне дочерние виджеты этого конкретного виджета» и т.д… Затем класс page подготовит соответствующие SQL-запросы и отправит их в класс Data. Ответственность за создание соединения с БД и выполнение запросов, отправляемых классом страницы, лежит на классе данных. Класс Data отправит результаты в класс Page, который вернет формат и вернет результаты. Приложение Net Core. С ADO . Чистый код находится в классе данных, поэтому мне нужно отправить информацию о подключении к БД в класс данных.

3. @Karney. Класс Page отвечает за генерацию логики (операторов SQL), которые будут извлекать необходимые данные. Класс данных отвечает за создание соединения с БД и выполнение этих SQL-запросов.

4. Можете ли вы добавить общедоступный интерфейс (что-то вроде IDatabaseConfiguration ) в свой проект? Вы можете добавить свойство для этого, содержащее вашу строку подключения. Затем вы используете DI (внедрение зависимостей) и разрешаете его. Вы UIServiceLayer знаете только об интерфейсе, и ваше приложение MVC отвечает за заполнение значения строки подключения. Это будет вариант?

5. Звучит хорошо для меня. Спасибо.