Я использую архитектуру представления модели (MVP) в моем приложении Windows Form.Все отлично.Но во время доступа к данным я столкнулся с проблемой, что ConfigurationManager.ConnectionStrings [""] имеет значение null, поэтому я не могу взаимодействовать с базой данных.
Дизайн моего слоя DAL: Сначала я добавил проект библиотеки классов.Затем добавил источник данных в проект.Это добавило app.config в мой проект DAL с необходимой строкой подключения.Затем некоторые классы для обработки базы данных.Там при инициализации моей строки подключения
приватная строка connString = ConfigurationManager.ConnectionStrings ["SimpleBilling_MVP_Ribbon.DAL.Properties.Settings.Test_SimpleBillingDBConnectionString"]. ConnectionString;
Здесь я получил исключение 'Аргумент вне диапазона 'как configurationManager.ConnectionStrings [""] имеет значение null.
Мои выводы: 1) Некоторые сказали, что app.config должен быть единым для всего приложения и поэтому должен находиться в проекте ввода приложения.Но там, где я должен сохранить это, View не является подходящим местом, так как в конце концов DAL будет нуждаться в этом.
2) Я провел некоторый поиск и узнал, что configurationManager.ConnectionStrings [""] можетнельзя использовать в проекте библиотеки классов (DLL) прямым способом.Я получил несколько статей по проекту кода, чтобы продемонстрировать их использование в DLL, используя некоторые обходные пути.
Но в моем случае это не просто DLL с необходимостью обрабатывать ConfigurationManager.Все MVP будут иметь одинаковую необходимость обрабатывать базу данных одинаково?Итак, как люди это делают?
Ваша опытная мысль будет очень полезна здесь.