在UWP應用程序中包含帶有數據的SQLite DB文件

entity-framework-core sqlite uwp windows-10

我正在嘗試在UWP應用程序中包含一個SQLite文件。 SQLite文件中有許多表填充了數據。

數據庫(至少現在)是只讀的,我打算使用EF Core來訪問數據。

所以我有兩個問題:

  1. 將此文件與應用程序捆綁在一起的正確方法是什麼。
  2. 如何撰寫文件路徑以從UWP applciation訪問該文件?

將.sqlite文件的“複製到輸出目錄”設置為“始終複製”似乎將文件複製到bin文件夾,但我似乎無法找出訪問它的路徑。當將SQLite連接字符串設置為“Filename = databasename.sqlite”時 - 它似乎在其他地方創建了一個空白數據庫文件,因為嘗試訪問任何表會引發表未找到異常。

提前致謝!

一般承認的答案

我的建議是......

  1. 將.db文件包含在AppX包中。要包含它,請將.db文件添加到項目的Assets文件夾中。
  2. 然後,在第一次啟動應用程序時,您應該將.db文件從Assets複製到應用程序的本地文件夾。因為,SQLite本身無法訪問Assets文件夾。它只能訪問您應用的本地或臨時文件夾。

我在MSDN論壇上回答了類似的問題。請參考。

[UWP] SQLite.net路徑問題?



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow