如何在MAUI应用程序中打包现有的SQLite数据库

问题描述 投票:0回答:1
  1. 我想在 MAUI 、net 应用程序中打包现有的 SQLite 数据库,但找不到解决方案。如果那不可能,我可以吗:
  2. 在安装过程中仅调用一次函数来创建新数据库并填充数据。

请推荐

我知道如何创建 SQLite 和 CRUD。

谢谢

sqlite maui maui-community-toolkit
1个回答
0
投票

您可以将任何您想要的资源放入项目目录

Resources/Raw
。还有一个文件
AboutAssets.txt
解释了如何访问这些文件:

您想要与应用程序一起部署的任何原始资产都可以 放置在此目录(及其子目录)中。部署 您的应用程序的资产由以下内容自动处理

MauiAsset
在您的
.csproj
内制定行动。

<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />

这些文件将与您的包一起部署并且可以访问 使用要点:

async Task LoadMauiAsset() 
{     
    using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
    using var reader = new StreamReader(stream);

    var contents = reader.ReadToEnd();
}
  1. 将要部署的数据库存储到
    Resources/Raw
    文件夹中。
  2. 在每个应用程序启动时检查数据库是否存在。
  3. 如果没有,将其从资产文件夹中复制到预期路径中

替代方案

我建议每个迁移脚本都从一个版本迁移到下一个版本。您可以使用

PRAGMA user_version
设置/获取 SQLite 中的当前版本,并执行所需的迁移脚本,直到达到最终版本。因此,从哪个版本升级并不重要。

© www.soinside.com 2019 - 2024. All rights reserved.