Design Notes: Row Count
One of the scenarios we have heard feedback around is the ability for the a client of a data service to determine the total number of entities in a set without having to retrieve them all. The following video discusses this scenario in more detail and some of our thoughts regarding how to make the experience better.
Astoria Design Walkthrough: Introducing $count as an URI query option
Additional design details:
– The count value would be calculated after $filter expressions are applied. For example /Customers?$filter=City eq ‘London’ would return a count value made up of only the customers living in London and not all the customers.
– If a query included $top, $skip or $orderby, the count value would be unaffected. For example /Customers?$top=1&$skip=2&$orderby=Name would return the total number of customers stored by the service.
– If a query includes a $expand, then the count applies to the outer entity set. For example /Customers?$expand=Orders would return the number of customers stored by the service
What do you think? Would this be useful in your data services applications?
ADO.NET Data Services, Program Manager
This post is part of the transparent design exercise in the Astoria Team. To understand how it works and how your feedback will be used please look at this post.