SQLite共享缓存数据库

时间:2018-08-22 13:24:41

标签: c# sqlite in-memory-database shared-cache

我使用以下代码创建了一个共享的内存数据库,但是问题是,即使我关闭了连接或重新启动计算机,数据仍然可用。

我不了解数据的持久性和物理存储位置。

using (SQLiteConnection database = new SQLiteConnection("file: empDB ? mode = memory & cache = shared"))
            {
                database.CreateTable(emp.GetType());
                database.Insert(emp);
                var value = database.Query<Emp>("select * from emp;select * from emp;");
            }

1 个答案:

答案 0 :(得分:1)

要实现预期的行为,您可以使用FullUri语法,例如:

using (SQLiteConnection database = new SQLiteConnection("FullUri=file:empDB?mode=memory&cache=shared"))
{
  database.Open();
  // ....
}
  

我不了解数据的持久性和物理存储位置。

当您使用原始连接字符串时,会在应用程序工作目录中创建名称为empDB

数据库文件。 FullUri=file: empDB ? mode = memory & cache = shared。再次运行该应用程序时,将重用此文件。