我正在尝试执行此操作如何在我的 .net maui 应用程序上打包现有的 sqlite 数据库。我在这里找到了一个方法。 如何在 MAUI 应用程序中打包现有的 SQLite 数据库
我无法评论这个问题,所以这就是我问这个的原因。
我知道我需要将数据库复制到 resources/raw 文件夹。
在数据库类中,我从样本中得到了这个
using SQLite;
using TodoSQLite.Models;
namespace TodoSQLite.Data;
public class TodoItemDatabase
{
SQLiteAsyncConnection Database;
public TodoItemDatabase()
{
}
async Task Init()
{
if (Database is not null)
return;
Database = new SQLiteAsyncConnection(Constants.DatabasePath, Constants.Flags);
var result = await Database.CreateTableAsync<TodoItem>();
}
我该把这段代码放在哪里。我是否将 aboutassets.txt 更改为数据库名称。
async Task LoadMauiAsset()
{
using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
using var reader = new StreamReader(stream);
var contents = reader.ReadToEnd();
}
您的代码正在创建数据库。因此,您不必将其与应用程序一起打包。您可以直接在可写位置创建数据库。资产/资源文件夹仅用于只读内容。
您可以将其打包到assets文件夹下,并将其标记为MauiAsset资源。然后您可以将文件从资产文件夹复制到应用程序可以写入数据库的文件夹。
您可以将数据库写入应用程序的数据文件夹位置或用于创建应用程序文件的任何其他位置。
就像您将获得可以创建数据库文件的文件夹位置,如下所示:
System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)