Я использую LINQ to SQL, чтобы получить результат поиска хранимой процедуры FullTextSearch на сервере Sql 2008. Я перетащил процедуру из проводника сервера в конструктор и получил метод, созданный с соответствующим типом возвращаемого значения и параметрами. Теперь проблема в том, что мне нужно получить граф результата вызова этого метода, поэтому, используя мой метод репозитория (который вызовет метод Sproc и вернет результат как IQueryable), я делаю следующий вызов.
var result = repository.FullTextSearch(searchText);
int resultsCount = result.Count();
var ret = result.Skip((pageNumber - 1) * PageSize).Take(PageSize).ToList();
Этот код генерирует InvalidOperationException каждый раз, когда я пытаюсь его запустить, исключение говорит (да, вы уже догадались!) "Результаты запроса не могут быть перечислены более одного раза".
Метод, который был сгенерирован для Sproc, возвращает ISingleResult, который должен быть O.K. НАСКОЛЬКО МНЕ ИЗВЕСТНО. Мне нужно поддерживать пейджинг на моем представлении, поэтому мне нужно знать общее количество страниц, которое (AFAIK снова) возможно только в том случае, если я могу получить количество всех элементов.
Чего мне здесь не хватает, ребята?