2017-05-02 43 views
0

我試圖從PullAsync方法使用增量功能。我的問題是:當我將queryId參數傳遞給此函數時,它不返回任何結果。沒有這個參數,它的作品。IMobileServiceSyncTable遞增PullAsync - 無結果

測試場景:本地sqllite表爲空,並且第一次執行PullAsync方法。

工作:

await this.ISyncTable.PullAsync(null, query, cancellationToken).ConfigureAwait(false); 

不工作:

await this.ISyncTable.PullAsync(queryId, query, cancellationToken).ConfigureAwait(false); 

在這個例子中QueryId使用: 「AA」

我的兩個問題:

  1. 這是爲什麼不加工?
  2. 我應該爲每個單獨的查詢生成一個queryId,還是我可以爲所有查詢使用一個queryId並每7天更新一次queryId?
+0

我發現第一個問題的問題:服務器數據庫中的UpdatedAt列爲NULL。我首先想到的是,如果沒有存儲任何值,則始終提取數據集。你能幫我解決第二個問題嗎? – OPunktSchmidt

回答

1

何時進行增量同步,拉操作只檢索最新的updatedAt時間戳記之後的記錄。此外,至於第二個問題,通常我們爲每個邏輯查詢創建唯一的查詢名稱,如果具有相同查詢名稱的不同拉操作可能會覆蓋相同的增量同步時間戳,然後查詢將返回不正確的結果。

有關在Azure移動應用程序中的離線數據同步的詳細信息,請參閱this article