2012-01-01 58 views
5

我想下面的代碼..WCF RIA - 查詢操作「計數」,不支持

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

我得到以下錯誤:

Query operator 'Count' is not supported.

我想基本上能夠指定Where In子句而不是Where =

任何人都有我如何能實現這個想法?

回答

2

你試過:

.SingleOrDefault() != null 

我不熟悉的RIA,但有時這些類型的備用相當的表述與EF工作。

此外,使用EF,可以使用.Any(...)來執行SQL風格WHERE IN (...)

關閉我的頭頂,這樣的事情的作品:

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

ids可能是ID的列表,實體的另一個列表或子查詢,IIRC。

+0

謝謝,第二個解決方案工作。 – user1106741 2012-01-01 15:24:45

+0

太棒了,很高興聽到它。 – 2012-01-02 15:10:43