Как использовать SQL Server и ORACLE базу данных условно с C# и Entity Framework 6? - PullRequest
0 голосов
/ 27 мая 2020

Я разработал приложение 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 модель и сгенерированные все остальные файлы

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...