Ответ 1
Вы можете использовать SQLite Online Backup API, который имеет возможность копировать файл db в память, в память в файл. Встроенная поддержка SQLite Online Backup API присутствует в System.Data.SQLite версии 1.0.80.0 (с SQLite 3.7.11).
Это простой пример того, как API можно использовать в С#:
SQLiteConnection source = new SQLiteConnection("Data Source=c:\\test.db");
source.Open();
using (SQLiteConnection destination = new SQLiteConnection(
"Data Source=:memory:"))
{
destination.Open();
// copy db file to memory
source.BackupDatabase(destination, "main", "main",-1, null, 0);
source.Close();
// insert, select ,...
using (SQLiteCommand command = new SQLiteCommand())
{
command.CommandText =
"INSERT INTO t1 (x) VALUES('some new value');";
command.Connection = destination;
command.ExecuteNonQuery();
}
source = new SQLiteConnection("Data Source=c:\\test.db");
source.Open();
// save memory db to file
destination.BackupDatabase(source, "main", "main",-1, null, 0);
source.Close();
}