【问题标题】:IMobileServiceSyncTable Incremental PullAsync - No ResultsIMobileServiceSyncTable 增量 PullAsync - 无结果
【发布时间】:2017-05-02 15:02:33
【问题描述】:

我正在尝试使用 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?

【问题讨论】:

  • 我发现第一个问题的问题:服务器数据库中的UpdatedAt列为NULL。我首先想到的是,如果没有存放任何值,则始终会获取数据集。你能帮我解决我的第二个问题吗?

标签: c# sqlite azure xamarin offlineapps


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多