Ответ 1
У меня была та же самая проблема, если бы база данных должна была быть отправлена по электронной почте для целей отладки/анализа. Не было никакого способа сделать это, потому что соединение выполнено.
Вы можете обойти это, немного изменив реализацию sqlite-net.
В верхней части SQLiteAsync.cs
добавьте следующее объявление частичного класса.
namespace SQLite
{
public partial class SQLiteAsyncConnection
{
public void ResetConnections()
{
SQLiteConnectionPool.Shared.Reset();
}
}
}
а затем измените модификатор доступа выше метода Reset
как public
.
В коде приложения просто вызовите <YourSQLiteAsyncConnection>.ResetConnections();
перед удалением файла DB.
Затем снова при тестировании вы можете создать свою базу данных в памяти, чтобы не удалять ее вообще. Вы можете добиться этого, установив DatabasePath как ":memory:"
.