假设我在 Netflix OData 端点上有以下查询:
Titles.Where(x=>x.AverageRating > 3.0)
有没有办法用来.IncludeTotalCount()
获取适合 where 子句的标题数?(不是资源中项目的总数Titles
。)
我查看了此处提供的代码:http: //msdn.microsoft.com/en-us/library/ee474390.aspx
但它似乎不适用于 where 子句。
假设我在 Netflix OData 端点上有以下查询:
Titles.Where(x=>x.AverageRating > 3.0)
有没有办法用来.IncludeTotalCount()
获取适合 where 子句的标题数?(不是资源中项目的总数Titles
。)
我查看了此处提供的代码:http: //msdn.microsoft.com/en-us/library/ee474390.aspx
但它似乎不适用于 where 子句。
我试过这个,它工作得很好:
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());
}
在您的情况下,“它不起作用”是什么意思?
根据@Vitek Karas 的回复和您的评论,您似乎需要将从 where 子句返回的 IQueryable 转换为 DataServiceQuery。