2013-10-14 32 views
0

我沒有訪問OData提供程序的簡單REST api與json,我需要將數據存儲在本地(在移動設備websql上)反映後端的不同表中模型。遵循Edmunds例子,我得到了來自REST API的實體和關係。我怎樣才能使它與本地存儲的數據以相同的方式工作。我想從本地數據庫獲取數據並重新創建我的實體,任何意見,將不勝感激謝謝。如何從本地存儲websql加載breeze實體

回答

1

通過REST API查詢數據後,只需將EntityManager導出到本地存儲。這樣

 var changesExport = myEntityManager.exportEntities(); 

    ok(window.localStorage, "this browser supports local storage"); 
    var stashName = "arbitrary name for storage area""; 

    window.localStorage.setItem(stashName, changesExport); 

這個數據的東西以後可以重新導入到任何現有的EntityManager,然後通過簡單地重新導入數據本地查詢。

 importedData = window.localStorage.getItem(stashName); 

    anotherEntityManager.importEntities(importedData); 
+0

StashName似乎將所有東西都作爲序列化對象存儲,是否有辦法在存儲的數據上按行和表分隔行?感謝您的輸入。 – Brett

+0

不是真的,除非你想按實體存儲實體。如果需要,可以將exportEntities調用傳遞給實體列表。看看網站上的Breeze API。 –

+0

好的,謝謝(我對Breeze來說很新穎)這是否意味着默認情況下,我應該始終在內存中都有DB,這樣我就可以查詢它了?這可能成爲移動支持上大數據集的問題嗎?我正在研究一款大約有40000種產品的條形碼閱讀器應用程序,我在想內存和響應時間。感謝您的反饋 – Brett