2017-07-27 92 views
0

我试图在UWP应用程序中包含SQLite文件。 SQLite文件在其中填充了大量数据。在UWP应用程序中包含带有数据的SQLite数据库文件

数据库(现在至少)是只读的,我打算使用EF Core来访问数据。

所以我有两个问题:

  1. 什么是捆绑与应用程序文件的正确方法。
  2. 如何编写从UWP应用程序访问该文件的文件路径?

将.sqlite文件的“复制到输出目录”设置为“复制总是”似乎将文件复制到bin文件夹,但我似乎无法弄清楚访问它的路径。当将SQLite连接字符串设置为“Filename = databasename.sqlite”时 - 似乎在其他地方创建空白DB文件,因为尝试访问任何表都会引发表未找到异常。

在此先感谢!

回答

3

我的建议是...

  1. 包含.db文件到您的AppX中包。要包含它,请将.db文件添加到项目中的“资源”文件夹中。
  2. 然后,在第一次启动您的应用程序时,您应该将.db文件从Assets复制到您应用程序的本地文件夹中。因为,SQLite本身不能访问资产文件夹。它只能访问您的应用的本地或临时文件夹。

我已经在MSDN论坛上的类似问题的答案。请参考。

[UWP] SQLite.net Path question?

+0

对于答复!另外,正如我发现的那样 - 您需要将构建操作设置为数据库文件上的“内容”,否则它不会复制到输出AppX文件夹中,即使它位于项目的“资源”文件夹中。 –

相关问题