Запросы OData и типы, отличные от IQueryable, в ASP.NET Web API

Я создаю приложение ASP.NET Web API, которое возвращает Atom или RSS-канал. Для этого он строитSystem.ServiceModel.Syndication.SyndicationFeed и обычайMediaTypeFormatter отвечает за обработку заголовка HTTP Accept, преобразованиеSyndicationFeed либоAtom10FeedFormatter илиRss20FeedFormatterи потоковую передачу результата в поток ответов. Все идет нормально.

Мой контроллер выглядит примерно так:

    public class FeedController : ApiController
    {
        public HttpResponseMessage Get()
        {
            FeedRepository feedRepository = new FeedRepository();
            HttpResponseMessage<SyndicationFeed> successResponseMessage = new HttpResponseMessage<SyndicationFeed>(feedRepository.GetSyndicationFeed());
            return successResponseMessage;
        }
    }

То, что я хотел бы сделать, это использовать встроенные запросы OData для фильтрации моего канала, но изменив тип возвращаемого значенияGet() метод дляIQueryable<SyndicationFeed> очевидно, не будет работать, так какSyndicationFeed не реализуетIQueryable.

Есть ли способ использовать встроенные запросы OData наIEnumerable<SyndicationItem> собственность наSyndicationFeed?

Ответы на вопрос(3)

Ваш ответ на вопрос