只要我将数据源设置为完全限定路径,就可以在Windows上使用实体框架核心访问SQLite数据库。我想将此数据库嵌入到我的应用程序中。我已经向Resources\Raw文件夹添加了datase.db,并将BuildAction设置为MauiAsset。我将此代码添加到.csproj文件中:
Resources\Raw
BuildAction
MauiAsset
.csproj
<MauiAsset Include="Resources\Raw\database.db" />
但是"Data Source=database.db"字符串不起作用。
"Data Source=database.db"
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平台。
1条答案
按热度按时间nzk0hqpo1#
您必须将数据库从应用程序包复制到应用程序数据目录。
然后,使用变量datasePath建立到数据库的连接
它也适用于Android平台。