LinqPad を使用して、NetFlix OData ソースにクエリを実行して Linq を学習しています。
(ところで、私は彼らがすでにSOにある同様の質問であることを知っています...助けにはなりませんでした)。
これは素晴らしいクエリです。
from x in Titles
//where x.Rating=="PG"
where x.Instant.Available==true
where x.AverageRating>=4.0
//where x.Rating.StartsWith("TV")
//where x.Genres.First (g => g.Name.Contains("Family") ) //(from y in Genres where y.Name.Contains("Family") select y)
//where x.Genres.First (g => g.Name=="")
//orderby x.Name
orderby x.AverageRating descending
//select x
//)
select new {x.Name, x.Rating, x.AverageRating, x.ShortSynopsis}
(すべてのコメントをご容赦ください...これは、私が実験中であり、さまざまなニーズに合わせてクエリを変更するという事実の証です)。
私が理解できないことが2つあります。
初め。最初の 10 件の結果のみを返したいとしましょう。
2番目(そして最も重要なこと)。ジャンルの部分文字列でフィルタリングしたい。各タイトルには Genres コレクションが含まれています。名前に特定の文字列 (「ファミリー」など) が含まれるジャンルのみを表示したい。ジャンル.name.に「firstFilter」と「secondFilter」が含まれるタイトルを使用して、さらに優れたフィルター処理を行います。
基本的に、ジャンルでフィルタリングしたいのですが、Title には独自の Genres コレクションが含まれているため、その方法がわかりません。コレクションの 1 つ以上のジャンルにあるタイトルのみを返す方法がわかりません。
ご協力いただきありがとうございます!
ps...Netflix OData ソースは Any 演算子をサポートしていないようです。
セス