Как правильно использовать анонимный тип с Netflix OData API - PullRequest
0 голосов
/ 29 декабря 2010

Я пытаюсь использовать запрос ниже в LINQPad. Это не работает. Я получаю это исключение:

NotSupportedException: создание или инициализация экземпляров типа <> f__AnonymousType0`1 [System.String] с выражением t.BoxArt.SmallUrl не поддерживается.

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

Ответы [ 2 ]

1 голос
/ 29 декабря 2010

Я не знаком с Netflix OData API, но ваша проблема, похоже, является камнем преткновения для LINQ.

Попробуйте вместо этого:

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

Или альтернативно:

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

Один или оба должны работать на вас.

0 голосов
/ 15 февраля 2011


Процессор linq клиента служб данных WCF поддерживает только проекции, для которых назначены привязки элементов.Это означает, что при проецировании поля необходимо назначить его другому полю в проецируемом типе.

NotSupportedException: создание или инициализация экземпляров типа <> f__AnonymousType0`1 [System.String] сВыражение t.BoxArt.SmallUrl не поддерживается.

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

...