sqlite 访问本地数据库

yzckvree  于 2022-11-14  发布在  SQLite
关注(0)|答案(1)|浏览(233)

只要我将数据源设置为完全限定路径,就可以在Windows上使用实体框架核心访问SQLite数据库。我想将此数据库嵌入到我的应用程序中。我已经向Resources\Raw文件夹添加了datase.db,并将BuildAction设置为MauiAsset
我将此代码添加到.csproj文件中:

<MauiAsset Include="Resources\Raw\database.db" />

但是"Data Source=database.db"字符串不起作用。

nzk0hqpo

nzk0hqpo1#

您必须将数据库从应用程序包复制到应用程序数据目录。

string databaseName = "database.db3";

string databasePath = System.IO.Path.Combine(FileSystem.AppDataDirectory, databaseName);

Task<Stream> task = FileSystem.OpenAppPackageFileAsync($"Resources/Raw/{databaseName}");

var stream = task.Result;

using MemoryStream memoryStream = new MemoryStream();

stream.CopyTo(memoryStream);

File.WriteAllBytes(databasePath , memoryStream.ToArray());

然后,使用变量datasePath建立到数据库的连接
它也适用于Android平台。

相关问题