2012-01-01 18 views
5

sto cercando il seguente codice ..WCF RIA - Query operatore 'Count' non è supportato

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

ottengo il seguente errore:

Query operator 'Count' is not supported.

voglio essere sostanzialmente in grado di specificare una clausola Where In anziché Where =.

Qualcuno ha un'idea di come posso ottenere questo?

risposta

2

Hai provato:

.SingleOrDefault() != null 

io non sono a conoscenza RIA, ma a volte questi tipi di espressioni equivalenti si alternano lavoro con EF.

Inoltre, con EF, è possibile eseguire uno stile SQL WHERE IN (...) utilizzando .Any(...).

Fuori della parte superiore della mia testa, questo genere di cose funziona:

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

ids può essere un elenco di ID, un altro elenco di enti o di una sottoquery, IIRC.

+0

Grazie, la seconda soluzione ha funzionato. – user1106741

+0

Grande, felice di sentirlo. –