我正在创建一个使用本地SQLite数据库的Windows 10 Universal App。 为了让应用程序使用数据库文件,必须将其放在:
中C:\Users\<Username>\AppData\Local\Packages\<Name of Package>\Local State
现在我明白这是本地的&#39;应用程序的文件结构。但是我有一个预制数据库,应用程序需要与之交互,因此应该在安装时作为应用程序的一部分捆绑在一起。
在通过侧载安装分发我的应用程序时,是否有以可用方式包含我的数据库的方法?
此外,这个问题至关重要,因为这个C:\&#39;将我的应用程序推送到移动电话或其他Windows 10(非桌面)设备时,目录将不存在。
答案 0 :(得分:5)
您无法将数据库直接打包为读写数据(本地状态)。如果您只需要从数据库中读取数据,则只需将其包含在项目中并从Package.Current.InstalledLocation
中读取即可。
如果您需要写入数据库,但它包含您希望随应用程序一起提供的一些初始值,那么您仍需要在项目中包含数据库,然后将其从InstalledLocation
复制到ApplicationData.Current.LocalFolder
如果您的应用启动时它不存在。
答案 1 :(得分:2)
您可以通过各种方式将现有数据库导出为SQL脚本,并将其保存在项目资产中。 在第一次运行应用程序时,您可以在LocalFolder中创建Sqlite文件,并使用CREATE和INSERT查询运行脚本。