1

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

我不明白数据是如何持久的以及它的物理存储位置。

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;");
            }
4

1 回答 1

2

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

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

我不明白数据是如何持久的以及它的物理存储位置。

empDB当您使用原始连接字符串时,将在您的应用程序工作目录中创建具有名称的数据库文件,例如FullUri=file: empDB ? mode = memory & cache = shared. 当您再次运行应用程序时,此文件将被重用。

于 2018-08-22T14:26:31.847 回答