如果我有疑问 - http:///Northwind.svc/Orders?filter = Freight gt 30
我相信,WCF数据服务查询已执行 -
我的质询 - 1.如果我浏览上面的网址或
我的查询在什么时候执行?
我相信我的问题#2它将在每次枚举结果时执行。如果是这样,我如何避免这种情况,以便在一次网络通话中获得所有结果。
由于
答案 0 :(得分:1)
WCF数据服务的客户端使用受限制的LINQ提供程序来访问查询结果。与其他LINQ提供程序类似,它使用所谓的延迟查询执行,即它不执行查询(在OData的情况下是HTTP调用),直到它需要结果。因此,很容易弄清楚何时发生HTTP调用。当然,它发生在调用First(),Single()等上,对结果枚举进行聚合调用,如Count()。
当谈到JavaScript和jQuery时,它与WCF数据服务的客户端无关。我不是UI开发人员,但AFAIK jQuery有自己的HTTP帮助程序方法,因此您必须检查它们的实现方式。但一般来说,你有一个OData请求,你无法真正分割它的执行:一旦你将它发送到OData feed,你将得到所有结果。如果需要限制提取的结果数,可以使用$ count子句扩展查询URI。