在二进制流上打开SQLiteConnection而不是文件?

5

是否可以在不先将二进制流保存到磁盘上的情况下打开SQLiteConnection?肯定有一种方法可以“欺骗”连接,让它认为流是一个文件。我的意思是,从内部来看,这就是它正在做的事情,对吧?

1个回答

4
假设你谈论的是来自http://sqlite.phxsoftware.com/System.Data.SQLite,那么你可以在连接字符串中将文件名设置为:memory:,它应该会创建一个内存数据库。
var connection = new SQLiteConnection("Data source=:memory:");

3
据我理解,这将创建一个空的内存数据库,我看不到初始化它使用字节流的方法。 - Olivier Jacot-Descombes
1
正确。SQLite中的":memory:"是系统内的一个特殊情况,我不确定有没有好的方法来使用一些任意字节流初始化它,尤其是从C#。在C++和POSIX操作系统中,我建议使用tempfs文件,但我无法确切地说Windows如何处理。 - Travis Gockel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接