2010-04-20 9 views
5

Ich spiele mit dem neuen Netflix OData feed (http://odata.netflix.com/Catalog/) und habe einige Probleme. Ich versuche LINQ gleichzeitig zu lernen, aber ich habe Schwierigkeiten, das zu tun, was ich für ganz einfach hielt.Verwenden Sie LINQ, um verschachtelte OData-Auflistung abzufragen

Ich möchte eine Liste von Titeln, die einem bestimmten Genre entsprechen, zurückgeben. Das Objekt "Titel" enthält eine Sammlung von Genres. Ich bin mir nicht sicher, wie ich diese Abfrage schreiben soll. Mein Versuch unten scheint nicht zu funktionieren mit LINQPad.

from t in Titles 
where t.Genres.Name.Contains("ABC") 
select t 

Antwort

1

Wenn Sie eine DataServiceQueryException zusammen mit der Nachricht erhalten: anfordern Version ‚1.0‘ ist für die Antwort zu niedrig. Die niedrigste unterstützte Version ist '2.0'.

Sie benötigen eine Version von .NET aktualisieren Framework 4 auf .NET und LINQPad für .NET Framework 4.0

+0

Ich verwende LINQPad v4.13.4, die ich glaube, ist die. NET 4-Version. –

0

Kyle Download Dies wird Ihnen eine Liste aller Filme erhalten nach Genre

(from g in Genres.Expand("Titles") 
where g.Name == "Horror" 
select g).Dump(); 

Dies schafft die folgende URL in LinqPad

/Catalog/Genres('Horror')?$expand=Titles 

Seine interessant, dass ich die .Expand sy zu verwenden, benötigen Ntax, um es zu bekommen. Als ich zum netflix durchsuchen OData mit meinem Browser füttern und wollen die gleichen Daten kann ich es mit der folgenden URL erhalten: http://netflix.cloudapp.net/Catalog/Genres (‚Horror‘)/Titel

Es muss einen Weg geben, um es zu bekommen, ohne .Expand

+0

Du hast Kyke statt Kyle geschrieben –

7

konnte ich meine Ergebnisse mit der LINQ erhalten:

from g in Genres 
from t in g.Titles 
where g.Name == "Horror" 
select t 

So kann ich erweitern brauchen nicht zu verwenden. Ich kann auch die URL verwenden: http://odata.netflix.com/Catalog/Genres('Horror')/Titles(), um die gleichen Ergebnisse zu erhalten. Diese post von Chris Woodruff hat mir geholfen, das Problem zu verstehen.

Verwandte Themen