Учитывая
Я использую SQLite- Net Пакет NuGet.
У меня есть старый синхронный API для манипуляций с базой данных (SQLiteConnection
).
Что Мне нужно
Я хочу использовать новый асинхронный API для манипуляций с базой данных (SQLiteAsyncConnection
)
Проблема
Старый синхронный API достаточно велик, поэтому я не могу выполнить быструю миграцию в asyn c API, поэтому мне нужно использовать как синхронный, так и асинхронный API вместе, используя один файл базы данных, например:
var database = new SQLiteConnection(connectionString); // Synchronous API
var databaseAsync = new SQLiteAsyncConnection(connectionString); // Asynchronous API
Если я попытаюсь использовать два соединения в одном файле базы данных, как указано выше, я проблемы с syn c, такие как создание таблицы с использованием синхронного соединения, не делает таблицу доступной через асинхронное соединение. Я предполагаю, что внутри соединения есть какой-то внутренний кеш или что-то еще ...
Вопрос
Как правильно использовать один файл базы данных и два (syn c и asyn c) соединения вместе ?
И .. можно ли?
Дополнительная информация
- Синхронный и асинхронный API будут полностью покрыты блокировками. Поэтому я не ожидаю конфликтов с использованием обоих API.