我正在使用 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}
(请原谅所有评论......这证明了我正在试验的事实,并且我将根据各种需求更改查询)。
有两件事我无法弄清楚。
第一的。假设我只想返回前 10 个结果。
第二(也是最重要的)。我想按流派的部分字符串进行过滤。每个标题都包含一个流派集合。我只想显示名称包含某个字符串(如“家庭”)的流派。使用包含“firstFilter”和“secondFilter”的标题更好地过滤。
基本上,我想按流派过滤,但我不知道该怎么做,因为 Title 包含它自己的 Genres 集合,我不知道如何只返回集合中一种或多种流派的标题。
谢谢你的帮助!
ps ...似乎 Netflix OData 源不支持 Any 运算符。
赛斯