Azure 移动服务 PullAsync 并非所有数据
Azure Mobile Services PullAsync not all data
在后端使用 Azure 移动服务和 Azure Easy Tables 我想在客户端上获取过滤数据,因为表可能非常大,但对具有自己 ID 的特定用户有用的行不会。我尝试使用
IMobileServiceTableQuery<Messages> query =
msgTable.Where(c => c.UserId==_myId);
await msgTable.PullAsync("syncmsg"+_myid, query);
但事实证明,PullAsync 仅在下一次应用查询,但第一次提取所有数据。有什么方法可以使用 Azure 移动服务拉取并存储在仅根据查询数据过滤的本地存储上吗?
所以,首先要做的是——你应该在服务器上进行安全过滤,而不是客户端。有一些简单的方法可以根据您的规格调整服务器上的过滤器。有关大量示例,请参阅 https://github.com/Azure/azure-mobile-apps-node/tree/master/samples。
关于这个问题,你构建的查询是错误的。你想要的是:
var query = msgTable.CreateQuery().Where(c => c.UserId == myId);
await msgTable.PullAsync('mysyncquery', query);
注意中间的 CreateQuery()。否则,您将无法设置基本查询。
在后端使用 Azure 移动服务和 Azure Easy Tables 我想在客户端上获取过滤数据,因为表可能非常大,但对具有自己 ID 的特定用户有用的行不会。我尝试使用
IMobileServiceTableQuery<Messages> query =
msgTable.Where(c => c.UserId==_myId);
await msgTable.PullAsync("syncmsg"+_myid, query);
但事实证明,PullAsync 仅在下一次应用查询,但第一次提取所有数据。有什么方法可以使用 Azure 移动服务拉取并存储在仅根据查询数据过滤的本地存储上吗?
所以,首先要做的是——你应该在服务器上进行安全过滤,而不是客户端。有一些简单的方法可以根据您的规格调整服务器上的过滤器。有关大量示例,请参阅 https://github.com/Azure/azure-mobile-apps-node/tree/master/samples。
关于这个问题,你构建的查询是错误的。你想要的是:
var query = msgTable.CreateQuery().Where(c => c.UserId == myId);
await msgTable.PullAsync('mysyncquery', query);
注意中间的 CreateQuery()。否则,您将无法设置基本查询。