2016-06-11 77 views
1

当前Entity Framework Core Documentation给出了在Windows 10/UWP应用程序中使用SQLite的示例。给出的示例声明了数据库位置optionsBuilder.UseSqlite("Filename=Blogging.db");路径等效于Windows.Storage.ApplicationData.Current.LocalFolder.Path这使SQLite数据库处于<packagefolder>\LocalStateSQLite数据库放在UWP应用程序中的位置

我们正在探索使用UWP/SQLite作为将业务事务存储在SQLite数据库中的业务应用程序。然而文件夹名称LocalState暗示我这是存储状态信息的地方,不是业务事务的长期存储。

还有另一个文件夹<packagefolder>\AppData。这是我们的数据库更合适的位置吗?如果是这样,它在UWP应用程序中如何访问?或者在<packagefolder>\LocalState之后的所有正确位置放置一个用于长期存储业务事务的数据库?

回答

3

文档是正确的。数据库的路径(Windows.Storage.ApplicationData.Current.LocalFolder.Path)是正确的。只要应用安装在设备上,您的数据就会存在。

请参见下面的MSDN文章,什么是最重要的,从它:

“本地数据,其中只要存在为创建它仍然安装在应用程序”

还有一:

“本地可同时包含文件(LocalFolder)和设置(LocalSettings),并应用于该用户是值的和不易被重新创建或下载的任何信息”

ApplicationData.Current.LocalFolder用于吨o存储信息。

https://blogs.windows.com/buildingapps/2016/05/10/getting-started-storing-app-data-locally/#_Local

+0

谢谢@Daniel Krzyczkowski。我已经标记了这个正确的,但你提到的链接没有提到LocalState。事实上,数据库最终在我有关的LocalState中。也没有提及AppData文件夹,它是LocalState的兄弟。 – Vague

+0

@Vague“ApplicationData.Current.LocalFolder”是指文件系统中的“%AppData%/ Local/Packages//LocalState”。这就是为什么你在“ \ LocalState”中看到数据库的原因。 AppData是您可以在其中找到应用程序包的文件夹(层次结构中的层次较高) –

+0

不在我的Windows 10计算机上@Daniel Krzyczkowski。在包文件夹内我有这些文件夹:AC,AppData,LocalCache,LocalState,RoamingState,Settings,SystemAppData,TempState – Vague

相关问题