2012-01-01 13 views
5

Estoy intentando el siguiente código ..WCF RIA - 'conde' Operador de consulta no es compatible

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

me sale el siguiente error:

Query operator 'Count' is not supported.

Quiero ser básicamente capaz de especifique una cláusula Where In en lugar de Where =.

¿Alguien tiene una idea de cómo puedo lograr esto?

Respuesta

2

Ha intentado:

.SingleOrDefault() != null 

No estoy familiarizado con RIA, pero a veces este tipo de expresiones equivalentes alternativos trabajo con EF.

Además, con EF, es posible hacer un estilo SQL WHERE IN (...) usando .Any(...).

De la parte superior de mi cabeza, este tipo de cosas funciona:

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

ids puede haber una lista de ID, otra lista de entidades o una subconsulta, IIRC.

+0

Gracias, la segunda solución funcionó. – user1106741

+0

Genial, me alegra oírlo. –

Cuestiones relacionadas