我正在制作一个小型Web应用程序,当前正在使用sqlite
+ EF Core 2.1
来存储数据。
有什么我可以沙盒化sqlite数据库文件的解决方案吗?
我的意思是将 sqlite 数据库及其数据和触发器从我的物理 db 文件加载到内存中。
每次打开/关闭VS调试器时,数据库都会使用物理文件中的现有数据刷新。
谢谢
答案 0 :(得分:1)
下面的代码可以按照您的要求进行操作:
var sandboxConnection = new SqliteConnection("Data Source=:memory:");
sandboxConnection.Open();
using (var physicalConnection = new SqliteConnection("Filename=physical.db"))
{
physicalConnection.Open();
physicalConnection.BackupDatabase(sandboxConnection);
}
optionsBuilder.UseSqlite(sandboxConnection);
答案 1 :(得分:0)
将物理sqlite文件移动到Web根目录之外的安全文件夹中。 SqliteCipher也可以用于加密