Я пытаюсь найти хороший способ поддержки нескольких поставщиков баз данных в приложении, которое я создаю.
Причины этого:
- Сделать приложение какнасколько это возможно, не зависит от среды (пока не знаю, где она будет работать)
- Разрешить запуск интеграционных тестов с базой данных в памяти (я намерен использовать sqlite)
В настоящее время яиметь проект с именем [...]. Infrastructure.DataAccess.EF, который имеет общее имя, но связан с MS SQL с помощью:
Решение, которое я собираюсь реализовать, заключается в добавлении DBContext в отдельный проект.Только 1 из этих DLL будет разрешено находиться в рабочем каталоге при запуске приложения.Недостатком является то, что мне нужно создать как минимум два дополнительных проекта, в которых почти не будет логики, а будет только регистрация контекста данных.
Вопросы:
- У вас естьлучший подход для решения этой проблемы
- Стоит ли ожидать проблем с различными реализациями (например, MS SQL, SQLite DB, SQLite в памяти DB)?Я в основном прошу Инициализация БД и Конфигурации сущностей EF .