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 に答える