Andere OData-Abfragen und -Typen als IQueryable in der ASP.NET-Web-API

Ich erstelle eine ASP.NET-Web-API-Anwendung, die einen Atom- oder einen RSS-Feed zurückgibt. Dazu baut es einSystem.ServiceModel.Syndication.SyndicationFeed und ein BrauchMediaTypeFormatter ist verantwortlich für die Verarbeitung des HTTP-Accept-Headers und die Konvertierung desSyndicationFeed zu einemAtom10FeedFormatter oder einRss20FeedFormatterund Streaming des Ergebnisses an den Antwortstrom. So weit, ist es gut.

Mein Controller sieht ungefähr so ​​aus:

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

Ich möchte die eingebauten OData-Abfragen verwenden, um meinen Feed zu filtern, aber den Rückgabetyp von ändernGet() Methode zuIQueryable<SyndicationFeed> wird offensichtlich nicht funktionieren da aSyndicationFeed implementiert nichtIQueryable.

Gibt es eine Möglichkeit, die eingebauten OData-Abfragen auf derIEnumerable<SyndicationItem> Eigentum auf demSyndicationFeed?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage