我正在构建一个返回 Atom 或 RSS 提要的 ASP.NET Web API 应用程序。为此,它构建 aSystem.ServiceModel.Syndication.SyndicationFeed
和一个 customMediaTypeFormatter
负责处理 HTTP Accept Header,将 转换SyndicationFeed
为 anAtom10FeedFormatter
或 an Rss20FeedFormatter
,并将结果流式传输到响应流。到目前为止,一切都很好。
我的控制器看起来像这样:
公共类 FeedController : ApiController { 公共 HttpResponseMessage 获取() { FeedRepository feedRepository = new FeedRepository(); HttpResponseMessage<SyndicationFeed> successResponseMessage = new HttpResponseMessage<SyndicationFeed>(feedRepository.GetSyndicationFeed()); 返回成功响应消息; } }
我想做的是利用内置的 OData 查询来过滤我的提要,但是将Get()
方法的返回类型更改为IQueryable<SyndicationFeed>
显然不起作用,因为 aSyndicationFeed
没有实现IQueryable
.
有没有办法在IEnumerable<SyndicationItem>
属性上使用内置的 OData 查询SyndicationFeed
?