2012-01-01 53 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