5

新しいNetflixODataフィードhttp://odata.netflix.com/Catalog/ )で遊んでいて、いくつかの問題があります。同時にLINQを学ぼうとしていますが、非常に簡単になると思っていたことが難しいのです。

特定のジャンルに一致するタイトルのリストを返したいのですが。Titlesオブジェクトには、ジャンルのコレクションが含まれています。このクエリの書き方がわかりません。以下の私の試みは、 LINQPadを使用して機能していないようです。

from t in Titles
where t.Genres.Name.Contains("ABC")
select t
4

3 に答える 3

7

LINQ を使用して結果を取得できました。

from g in Genres
from t in g.Titles
where g.Name == "Horror"
select t

この方法では、Expand を使用する必要はありません。URL: http://odata.netflix.com/Catalog/Genres('Horror')/Titles()を使用して、同じ結果を取得することもできます。Chris Woodruff によるこの投稿は、この問題を理解するのに役立ちました。

于 2010-04-21T19:57:13.643 に答える
1

メッセージとともにDataServiceQueryExceptionを受け取っている場合:要求バージョン「1.0」は応答に対して低すぎます。サポートされている最低バージョンは「2.0」です。

.Netのバージョンを.NetFramework4にアップグレードし、LINQPad for .NETFramework4.0をダウンロードする必要があります。

于 2010-04-21T15:15:05.213 に答える
0

カイル、これはジャンルごとのすべての映画のリストを取得します

(from g in Genres.Expand("Titles")
where g.Name == "Horror"
select g).Dump();

これにより、LinqPad に次の URL が作成されます

/Catalog/Genres('Horror')?$expand=Titles

.Expandそれを取得するために構文を使用する必要があったのは興味深いことです。ブラウザで netflix odata フィードを参照し、同じデータが必要な場合は、次の URL で取得できます: http://netflix.cloudapp.net/Catalog/Genres ('Horror')/Titles

なしでそれに到達する方法があるはずです.Expand

于 2010-04-21T18:40:30.490 に答える