IMobileServiceSyncTable增量PullAsync - 没有结果

时间:2017-05-02 15:02:33

标签: c# sqlite azure xamarin offlineapps

我正在尝试使用PullAsync方法中的增量功能。我的问题是:当我将queryId参数传递给此函数时,它不返回任何结果。没有这个参数就行了。

测试场景:本地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?

1 个答案:

答案 0 :(得分:1)

何时执行增量同步,拉取操作仅检索最新updatedAt时间戳之后的记录。此外,对于第二个问题,通常我们为每个逻辑查询创建唯一的查询名称,如果具有相同查询名称的不同拉取操作可能会覆盖相同的增量同步时间戳,则查询将返回不正确的结果。

有关 Azure移动应用中的离线数据同步的详细信息,请参阅this article