2010-12-29 1 views
0

J'essaie d'utiliser la requête ci-dessous dans LINQPad. Ça ne marche pas. Je reçois cette exception:Comment utiliser correctement le type anonyme avec l'API OData de Netflix

NotSupportedException: la construction ou du cas d'initialisation de type <> f__AnonymousType0`1 [System.String] avec le t.BoxArt.SmallUrl d'expression ne sont pas pris en charge.

from t in Titles where t.Id == "ApUFq" select new { t.BoxArt.SmallUrl } 

Répondre

1

Je ne suis pas familier avec l'API Netflix OData, mais votre problème semble être une pierre d'achoppement commune avec LINQ.

Essayez ceci:

from t in Titles 
where t.Id == "ApUFq" 
select new t.BoxArt.SmallUrl; 

Ou bien:

from t in Titles.Where(t0 => t0.Id == "ApUFq").ToArray() 
select new { t.BoxArt.SmallUrl }; 

Un ou les deux doivent travailler pour vous.

0


Le processeur linq du client de services de données WCF ne prend en charge que les projections qui ont des affectations de liaison de membre. Ce qui signifie que lorsque vous projetez un champ, vous devez l'affecter à un autre champ du type projeté.

NotSupportedException: La construction ou l'initialisation d'instances du type <> f__AnonymousType0`1 [System.String] avec l'expression t.BoxArt.SmallUrl n'est pas prise en charge.

from t in Titles
where t.Id == "ApUFq"
select new { smallUrl = t.BoxArt.SmallUrl }

Questions connexes