Windows phone 8 PullAsync现在需要QueryId,结果不再返回

Windows phone 8 PullAsync现在需要QueryId,结果不再返回,windows-phone-8,azure-mobile-services,Windows Phone 8,Azure Mobile Services,我设法让PullAsync在Azure移动服务1.3.0-beta3中使用 responseTypeTable.PullAsync(responseTypeTable.Where(c => c.CompanyId == companyId)); 然后我在周末升级到了第一个稳定版本 现在,PullAsync需要一个QueryId参数以及一个查询的参数。首先,我很困惑为什么会有一个突破性的改变,从beta3到stable,我认为API现在应该已经很好地进行了排序,所以可能我做错了什么 无论如

我设法让PullAsync在Azure移动服务1.3.0-beta3中使用

responseTypeTable.PullAsync(responseTypeTable.Where(c => c.CompanyId == companyId));
然后我在周末升级到了第一个稳定版本

现在,PullAsync需要一个QueryId参数以及一个查询的参数。首先,我很困惑为什么会有一个突破性的改变,从beta3到stable,我认为API现在应该已经很好地进行了排序,所以可能我做错了什么

无论如何,我输入了查询Id,如图所示

responseTypeTable.PullAsync("QueryResponseTypePull",
                            responseTypeTable.Where(c => c.CompanyId == companyId));
代码编译并运行,甚至执行得很好,命中API,但不会将任何值返回到本地存储中。当我跑的时候

result = await responseTypeTable.Where(c => c.CompanyId == companyId).ToListAsync();

要从本地数据库获取结果,它始终为空。这与我更新到1.3.0 stable之前的代码完全相同。

提供QueryId会导致框架以增量方式下载更改,即自上次同步以来只下载更新的数据


如果您希望每次下载所有数据,您可以传递null来代替QueryId,它将求助于完全同步。

提供QueryId会导致框架以增量方式下载更改,即自上次同步以来只下载更新的数据


如果您希望每次都下载所有数据,您可以传递null来代替QueryId,它将求助于完全同步。

好的,我恢复到beta3(同样的代码,这次我甚至保留了QueryId),并且一切都很好。我想目前我必须坚持使用Beta3,直到我发现导致此问题的原因。请尝试删除旧数据库或使用新的数据库文件名。格式在beta3和final之间更改。仅供参考,这里有关于查询ID的更多信息:我也尝试了一个新的数据库名称,只是为了测试,但结果相同。我现在已经从我的项目中删除了所有同步代码,现在又回到了直接api调用,因为我已经过了最后期限。我已经升级到稳定版本,至少所有使用常规MobileServiceTable的直接API调用都非常有效。一旦我部署了这个项目,我将在几天后再次尝试同步。好的,我恢复到beta3(同样的代码,这次我甚至留下了QueryId),并且一切都很好。我想目前我必须坚持使用Beta3,直到我发现导致此问题的原因。请尝试删除旧数据库或使用新的数据库文件名。格式在beta3和final之间更改。仅供参考,这里有关于查询ID的更多信息:我也尝试了一个新的数据库名称,只是为了测试,但结果相同。我现在已经从我的项目中删除了所有同步代码,现在又回到了直接api调用,因为我已经过了最后期限。我已经升级到稳定版本,至少所有使用常规MobileServiceTable的直接API调用都非常有效。一旦部署了此项目,我将在几天后再次尝试同步。初始加载甚至不起作用。目前我的local.db中没有任何内容,它发送到API的查询显示在任何UpdatedAt>1970-01-01上,因此它应该可以获取所有内容。如果您有.NET后端,则需要使用Queryable属性对控制器操作进行注释。如果是节点后端,则需要在表中有uu updatedAt列。您是否尝试使用null queryId来使用旧的行为?我发现最接近的是[EnableQueryAttribute]属性。这是正确的吗?GetAll返回一个IQueryable,但是我需要额外的属性吗?初始加载甚至不起作用。目前我的local.db中没有任何内容,它发送到API的查询显示在任何UpdatedAt>1970-01-01上,因此它应该可以获取所有内容。如果您有.NET后端,则需要使用Queryable属性对控制器操作进行注释。如果是节点后端,则需要在表中有uu updatedAt列。您是否尝试使用null queryId来使用旧的行为?我发现最接近的是[EnableQueryAttribute]属性。这是正确的吗?GetAll返回一个IQueryable,但是我需要额外的属性吗?