1

假设我在 Netflix OData 端点上有以下查询:

Titles.Where(x=>x.AverageRating > 3.0)

有没有办法用来.IncludeTotalCount()获取适合 where 子句的标题数?(不是资源中项目的总数Titles。)

我查看了此处提供的代码:http: //msdn.microsoft.com/en-us/library/ee474390.aspx

但它似乎不适用于 where 子句。

4

2 回答 2

7

我试过这个,它工作得很好:

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());
}

在您的情况下,“它不起作用”是什么意思?

于 2012-05-10T16:20:11.523 回答
2

根据@Vitek Karas 的回复和您的评论,您似乎需要将从 where 子句返回的 IQueryable 转换为 DataServiceQuery。

于 2012-05-14T19:43:52.370 回答