Я работаю с провайдером 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 выполняет всю работу и обрабатывает строку запроса для дерева выражений. Это все работает хорошо, поэтому, где, OrderBy и Take отсортированы. Веб-сервис поддерживает запрос подсчета с использованием следующего:
int count = myWebService.Count(query);
Но я не могу разобраться, куда я положил это в IQueryable или IQueryProvider.
Я в основном работал с учебниками и примерами с открытым исходным кодом, но, похоже, не могу найти тот, который делает Count.