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

发布于 2024-12-23 15:51:00 字数 379 浏览 5 评论 0原文

我正在尝试以下代码..

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

我收到以下错误:

不支持查询运算符“Count”。

我希望基本上能够指定 Where In 子句而不是 Where =

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

I'm trying the following code..

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

I get the following error:

Query operator 'Count' is not supported.

I want to basically be able to specify a Where In clause instead of Where =.

Anyone has an idea of how I can achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

a√萤火虫的光℡ 2024-12-30 15:51:00

您尝试过吗:

.SingleOrDefault() != null

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

此外,通过 EF,可以使用 .Any(...) 执行 SQL 样式的 WHERE IN (...)

在我的脑海中,这种事情是有效的:

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

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

Have you tried:

.SingleOrDefault() != null

I'm not familiar with RIA, but sometimes these kinds of alternate equivalent expressions work with EF.

Also, with EF, it's possible to do a SQL-style WHERE IN (...) using .Any(...).

Off the top of my head, this kind of thing works:

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

ids may be a list of IDs, another list of entities or a subquery, IIRC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文