2013-04-26 12 views
2

我跟着this article on MSDN,它清楚地描述瞭如何使用助手應用程序創建數據庫,然後將其作爲內容加載到主應用程序中。如果數據庫是隻讀的(我的是),那麼本文將描述如何將它加載到獨立存儲中。如何在Windows Phone中使用只讀數據庫?

但是這樣做的,數據庫(其中,選擇等)上進行只讀查詢後,我得到下面的異常

打開數據庫具有隻讀連接。無法執行重新構建索引和升級公共跟蹤等後期初始化操作。請用讀寫連接重新打開。

這意味着數據庫始終需要寫入權限。那麼如何按照文章中的建議以只讀模式使用數據庫?

下面是我在運行查詢,

IQueryable dataQuery = null; 

// This line inside a switch statement which picks a particular table of clothing 
dataQuery = this.clothingDB.DressSizes; 

var dataBySize = dataQuery.Cast<IClothing>().Where(q => q.Size == size); 
foreach (Retailer retailer in dataBySize.Select(ds => ds.Retailer).Distinct()) { 
    /// ... Do something 
} 

回答

3

東西區域或OS明智發生在桌面上,現在需要的索引在設備上進行重建。解決方法是將數據庫文件複製一次(僅限開發期間)到獨立存儲,打開數據庫上下文以允許索引重建,從獨立存儲中提取文件,並將更新(重建)文件作爲內容,然後從那裏複製,您可以打開只讀。

+0

啊對,我知道了,我在使用CompactView檢查內容之前,將它們複製到我的項目。如果我複製生成的文件,而是檢查數據庫的單獨副本,那麼它的作品 - 謝謝! – Brendan 2013-04-26 14:14:34

+0

某人在部署本地數據庫時如何處理模式或表更新?在發佈商店更新之前,每次都需要遵循這些步驟嗎? – WiteCastle 2014-01-12 17:20:29

+1

不,有一個特殊的DatabaseUpdater類來處理這個問題。 – ErikEJ 2014-01-12 17:51:00

相關問題