Я разработал приложение C# Windows. Я хочу использовать SQL Server и Oracle базу данных (условно) с Entity Framework 6.
В настоящее время в приложении реализованы только SQL Server и Entity Framework. Работает нормально. Но клиент сделал запрос на добавление поддержки базы данных Oracle в наше приложение.
База данных будет переключаться в зависимости от выбранных пользователем параметров.
Пользователь приложения выберет раскрывающийся список (во время входа в систему), чтобы использовать SQL Сервер или Oracle. В раскрывающемся списке будут доступны только эти два значения в виде строки 1) SQL Server и 2) Oracle.
Когда пользователь выбирает Oracle и продолжает работу в приложении, тогда все приложение с Entity Framework должно работать с базой данных Oracle.
Также, если пользователь хочет переключиться на SQL Сервер, тогда все приложение с Entity Framework должно работать с базой данных SQL Сервера. Это зависит от выбора пользователя при входе в систему.
У меня нет подходящего решения для использования нескольких баз данных с одним и тем же кодом приложения в зависимости от выбранной пользователем опции (SQL Сервер или Oracle); Я ищу лучшее решение для реализации этой функциональности безошибочным и простым способом реализации в существующем приложении без необходимости переписывать код.
Структура приложения
Я использовал функциональность шаблона репозитория (такая же, как и в веб-приложении, но с небольшой разницей во внедрении зависимостей сервисов).
(Далее следуют отдельные проекты с библиотекой классов и UI-формой)
- UI-проект: формы и C# код
- Модельный проект: для пользовательской модели
- Проект абстракции: только для интерфейса репозиториев и служб
- Проект службы: вся служба будет вызываться с помощью кнопок действий пользовательского интерфейса (Сохранить, Обновить, Удалить)
Проект репозитория: весь репозиторий для получения, обновления, сохранения данных в базе данных
Проект базы данных: .EDMX
модель и сгенерированные все остальные файлы
Заранее спасибо