带有EF Core的沙盒SQLite

时间:2018-10-17 02:42:00

标签: c# sqlite entity-framework-core ef-core-2.1

我正在制作一个小型Web应用程序,当前正在使用sqlite + EF Core 2.1来存储数据。 有什么我可以沙盒化sqlite数据库文件的解决方案吗?

我的意思是将 sqlite 数据库及其数据触发器从我的物理 db 文件加载到内存中。

每次打开/关闭VS调试器时,数据库都会使用物理文件中的现有数据刷新

谢谢

2 个答案:

答案 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也可以用于加密