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 einRss20FeedFormatter
und 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
?