【发布时间】:2010-11-23 18:43:41
【问题描述】:
我正在开发一个 IQueryable 提供程序。在我的 IQueryProvider 中,我有以下代码:
public TResult Execute<TResult>(Expression expression)
{
var query = GetQueryText(expression);
// Call the Web service and get the results.
var items = myWebService.Select<TResult>(query);
IQueryable<TResult> queryableItems = items.AsQueryable<TResult>();
return (TResult)queryableItems;
}
GetQueryText 完成所有的工作,并为表达式树计算出查询字符串。这一切都运行良好,因此对 Where、OrderBy 和 Take 进行了排序。该网络服务支持使用以下方式进行计数查询:
int count = myWebService.Count(query);
但我无法将它放在 IQueryable 或 IQueryProvider 中。
我基本上是通过阅读教程和开源示例来工作的,但似乎找不到一个可以做 Count 的。
【问题讨论】:
-
嗯,是从IQueryable.Count返回的。你的问题到底是什么?
-
我正在写一个提供程序,但我真的不知道我在做什么!我真的在找例子……
-
如果你真的不知道自己在做什么,我很高兴你可以实现
Where、OrderBy和Take。Count和其他人完全一样,所以我对你的困惑感到困惑。 -
我想是因为 myWebService.Select 总是返回一个 List
(这对于 where、orderby 和 Take 来说很好),而 myWebService.Count 返回一个 int。我想我需要更多地了解基础知识!
标签: c# linq iqueryable