我有一个表控制器,它有单向同步(只有get,因为没有任何来自移动的更新)。因此,当我第一次做PullAsync时,它已经提取了全部数据,因为我的Update文件对所有记录都有相同的时间戳。现在,我第二次只想进行增量拉(注意,我确实向PullAsync传递了一个名称值,以启用增量同步)。
但是问题是,它再次检索整个数据,因为updated中没有更新的时间戳(因为在中没有更新方法,因为它是单向同步-Azure到移动)。如果没有更新,而所有的更新值都是相同的时间戳,我怎么能再次删除数据呢?这个问题和下面的链接中提到的一样。为了解决这个问题,我们还需要做一次记录更新吗?
提前谢谢
发布于 2018-03-07 08:26:52
如果没有更新,而所有的更新值都是相同的时间戳,我怎么能再次删除数据呢?这个问题和下面的链接中提到的一样。为了解决这个问题,我们还需要做一次记录更新吗?
我已经核实过这个问题是否仍然存在。AFAIK,PullAsync操作将提取50条记录(默认为50条),然后开始一个事务以插入/更新检索到的实体,然后用最新的updatedAt时间戳更新本地__config表,然后尝试检索下一页记录并再次执行上述处理。

注意: id列的格式与deltaToken|{table-name}|{query-id}类似。
拉操作请求如下所示:
https://<app-name>.azurewebsites.net/tables/<table-name>?$filter=(updatedAt ge datetimeoffset'2018-02-21T08:58:45.446Z')&$orderby=updatedAt&$skip=0&$top=50&__includeDeleted=true我假设您可以查询本地__config表以检索最新的updatedAt值,或者查询相关的本地表以检索最新的updatedAt值,然后向当前updatedAt添加一个小时间间隔,并在使用增量拉操作时使用前面的updatedAt显式指定UpdatedAt属性上的筛选器。
https://stackoverflow.com/questions/49136461
复制相似问题