2012-12-03 78 views

回答

4

我的JayData工作。這麼晚纔回復很抱歉。 在JayData中,我們有一個名爲「本地」的「虛擬」提供程序。它隱藏了不同瀏覽器支持的不同本地存儲技術,因此您不必擔心它,併爲IndexedDB,WebSQL和HTML5.localStorage編寫代碼。只寫一次就可以了。

所有你需要做的是改變服務的參數,如:

var mydatabaseService = new mydatabase.mydatabaseService({ 
    name: 'local', 
    databaseName: 'myitems' 
}); 

有一些事情要小心: -string主鍵不支持(不JayData但由商店) 如果你想要導航屬性,那麼目前它只支持sqLite,所以你必須明確地使用它(name:'sqLite'而不是名字:'local'),並且在每個設備中都找不到sqlite。我們很快就會在其他商店實施導航。

+0

謝謝Gabor。我這樣做了,但現在看起來並不奏效。我試圖實例化一個本地上下文,並將它與從我的OData元數據自動生成的實體一起使用。它似乎只適用於oData上下文。 – Tolu

+0

我在回答之前就試過了,它能正常工作。你使用最新的JayData嗎?控制檯上有任何東西嗎? –

+0

您是手動加載提供程序還是使用onReady()?如果手動添加必要的提供者,但我建議自動加載它。 –

3

在說明明顯的風險:您可以創建自己的d.ts聲明文件,或編輯你一直在使用一個或看是否有一個在這裏:https://github.com/borisyankov/DefinitelyTyped

+0

這些d.ts文件是動態的 - 或者更準確地說,它們是特定於數據庫的。 DefinitelyType不太可能找到它們。 jaydata.d.ts是另一個問題,在提交過程中,因爲我們將爲JayData提供d.ts,覆蓋大部分功能,包括類型系統 –

+0

是的,公平 - 我只是想盡可能多地提供選項關於查找d.ts文件。 – JcFx