WCF RIA - оператор запроса 'Count' не поддерживается - PullRequest
5 голосов
/ 01 января 2012

Я пытаюсь следующий код ..

LoadOperation<Tasks> PhasesLP = context.
    Load(context.GetTasksQuery().
    Where(o=> ProjectList.Where(p=> p.ProjectID == o.ProjectID).Count() == 1)  

Я получаю следующую ошибку:

Оператор запроса Count не поддерживается.

Я хочу, чтобы в основном можно было указать предложение Where In вместо Where =.

У кого-нибудь есть идеи, как мне этого добиться?

1 Ответ

2 голосов
/ 01 января 2012

Вы пробовали:

.SingleOrDefault() != null

Я не знаком с RIA, но иногда эти виды альтернативных эквивалентных выражений работают с EF.

Кроме того, с EF возможносделать в стиле SQL WHERE IN (...), используя .Any(...).

Сверху в голове, это работает:

entities.Where(e => ids.Any(i => e.Id == i))

ids может быть списком идентификаторов, другой список объектов или подзапрос, IIRC.

...