假设我在Netflix OData端点上有以下查询:
Titles.Where(x=>x.AverageRating > 3.0)
有没有办法使用.IncludeTotalCount()
来获取符合where子句的标题数量? (不是Titles
资源中的项目总数。)
我查看了此处提供的代码:http://msdn.microsoft.com/en-us/library/ee474390.aspx
但它似乎不适用于where子句。
答案 0 :(得分:6)
我试过这个并且它运作得很好:
DemoService ctx = new DemoService(new Uri("http://services.odata.org/OData/OData.svc/"));
var query = (DataServiceQuery<Product>)ctx.Products.IncludeTotalCount().Where(p => p.Rating < 4);
QueryOperationResponse<Product> response = (QueryOperationResponse<Product>)query.Execute();
Console.WriteLine(response.TotalCount);
foreach (var i in response)
{
Console.WriteLine(i.Name + ", " + i.Rating.ToString());
}
在你的情况下,“它不起作用”是什么意思?
答案 1 :(得分:2)
基于@Vitek Karas的回复和您的评论,看起来您需要将从where子句返回的IQueryable转换为DataServiceQuery。