使用SQLite的实体框架核心:ASP.NET应用程序保存在内存中的数据库

时间:2018-02-06 05:25:50

标签: c# sqlite asp.net-core entity-framework-core

提前感谢您的帮助。

我使用我的Mac开发和使用SQLite作为数据库的ASP.NET核心应用程序(在学习SQLite和EF Core时,我通读了本教程:https://docs.microsoft.com/en-us/ef/core/get-started/netcore/new-db-sqlite)。迁移和更新数据库模式正在运行,但似乎ASP.NET应用程序正在保留内存中的数据库。

我假设这两个原因:

  1. 当我使用" DB Browser for SQLite"要浏览SQLite数据库模式和数据,它表明任何表中都没有数据(存在模式,因此迁移正在写入磁盘)
  2. 当我删除SQLite数据库文件本身时,ASP.NET站点仍然拥有已删除文件中的旧数据!真的很奇怪。
  3. 有谁知道如何让我的应用程序实际将数据写入SQLite文件,并阻止它将其存储在内存中?

    再次感谢!

    DbContext文件:

    New project window

1 个答案:

答案 0 :(得分:0)

“我如何让Web项目在Data.EF项目中使用db?”

可能是optionsBuilder.UseSqlite("Data Source=\Data.EF\sqlite.db");