在 Windows Azure 移动服务中,您可以通过两种方式进行查询:通过 REST API 或通过自定义 API。
通过 REST API 查询:
GET 动词支持符合开放数据协议 (OData)的 URI 参数。这些参数允许您指定过滤器、顺序、投影、分页和其他功能。该查询不是基于 SQL 语法,而是基于 OData 语法,该语法是为以 REST 样式服务的实体量身定制的。
这在查询记录操作中有记录,您将在 iOS 的移动服务 SDK 中以自动化测试的形式找到示例:请参阅MSQueryTests.m。
例如,这个示例代码:
-(void)testMSQueryInitWithSimplePredicate
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == 'bob'"];
query = [[MSQuery alloc] initWithTable:table predicate:predicate];
STAssertTrue([query.description
isEqualToString:@"$filter=(name%20eq%20'bob')&$inlinecount=none"],
@"OData query string was: %@",
query.description);
}
How to use the iOS client library for Mobile Services中也有这个例子:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"complete == NO"];
[table readWithPredicate:predicate completion:^(NSArray *items, NSInteger totalCount, NSError *error) {
//loop through our results
}];
通过自定义 API 查询:
您可以编写自己的函数,在服务器上运行,获取所需的任何参数,执行所需的任何查询和处理,并返回任何结果集。这些功能非常灵活。
有关如何开发这些功能的信息,请参阅Azure 移动服务中的自定义 API。
要了解如何从 iOS 调用这些自定义函数,请参阅Azure 移动服务中的自定义 API – 客户端 SDK以及此答案。