我有一个 WinUI 3 项目,我在其中初始化了我的
DbContext
,如下所示:
public string DbPath;
public MyAppContext()
{
var folder = Environment.SpecialFolder.LocalApplicationData;
var path = Environment.GetFolderPath(folder);
DbPath = System.IO.Path.Join(path, "MyApp.db");
}
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite($"Data Source={DbPath}");
我在
EnsureCreated()
中使用 App.xaml.cs
来确保创建数据库。
我尝试添加数据(使用代码),并检查它是否持久存在,到目前为止一切都很好。
问题是:我希望能够在开发功能时手动将数据添加到文件中,但我在任何地方都找不到该文件。
使用断点检查了
DbPath
的值,得到了
C:\Users\rahma\AppData\Local\MyApp.db
但是那里什么也没有。
假设这是一个打包应用程序,并且由于通常打包应用程序将其数据存储在指定的文件夹中,因此您的“MyApp.db”应该存储在这些文件夹之一中,如果我不得不猜测的话,就是 LocalCache 文件夹。
string localCacheFolder = ApplicationData.Current.LocalCacheFolder.Path;
对于您的 SQLite *.db 文件,我认为您应该检查这些步骤。它们适用于 UWP 应用程序,但也应适用于打包的 WinUI 3 应用程序。