WCF RIA - 不支持查询运算符"计数"

use*_*741 5 c# linq ria wcf-ria-services

我正在尝试以下代码..

LoadOperation<Tasks> PhasesLP = context.
    Load(context.GetTasksQuery().
    Where(o=> ProjectList.Where(p=> p.ProjectID == o.ProjectID).Count() == 1)  
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

不支持查询运算符'Count'.

我想基本上能够指定一个Where In子句而不是Where =.

任何人都知道如何实现这一目标?

Dre*_*kes 2

你有没有尝试过:

.SingleOrDefault() != null
Run Code Online (Sandbox Code Playgroud)

我不熟悉 RIA,但有时这些替代等效表达式可以与 EF 一起使用。

此外,通过 EF,可以WHERE IN (...)使用.Any(...).

在我的脑海里,这样的事情是有效的:

entities.Where(e => ids.Any(i => e.Id == i))
Run Code Online (Sandbox Code Playgroud)

ids可以是 ID 列表、另一个实体列表或子查询 IIRC。