Как копировать файл базы данных при импорте dll файла c#, sqlite3, wpf
Я разрабатываю приложение на wpf, которое имеет 2 под приложения: главное окно и окно уведомлений. Оба этих приложений используют одну базу данных, для чего я вынес работу с бд в отдельный .dll файл.
По моей задумке, приложения должны были делегировать работу с базой данных не .dll файл, но получилось, что они просто копирует базу себе в папку и работают с ней локально. Вопрос, как это избежать? Как заставить .dll файл не копировать базу в папку с приложением, а работать с ней самой?
P.S также принимаются идеи, как реализовать мою задумку по другому P.P.S если нужен какой фрагмент кода, я могу добавить его.
Ответы (1 шт):
Вредный совет:
Вам нужно третье приложение, которое будет провайдером работы с БД и будет принимать запросы/отправлять ответы двум другим приложениям.
А если серьёзно - SQLite для такого не предназначена, и вам придётся долги и упорно танцевать с бубном, чтобы заставить это работать корректно.
Если не поднимать полноценную БД, а использовать именно один файл - то и выход тут только один: пишите вместо dll - службу, и пусть она оперирует одним единственным файлом.
Или пусть ваша основная программа работает с SQLite, а программа с окном уведомлений поднимает внутренний TCP/IP сервер, и принимает уведомления от основной программы.