Запрос Linq to Entities дважды ударил по БД
У меня есть следующий довольно простой запрос linq, запрашивающий linq для сущностей edmx.
(from i in ent.Inspectors select i).OrderBy(s => s.Surname).Skip((page - 1) * count).Take(count).ToList();
В Sql Server Profiler я вижу, что один и тот же запрос выбора отправляется дважды.
Может кто-нибудь объяснить почему?
Ура,
Дейв
2 ответа
Решение
Из-за отложенного выполнения результаты запроса не кэшируются локально. Чтобы предотвратить это, добавьте вызов ToArray
в запросе.
Также, from i in ent.Inspectors select i
не работает; ты должен написать ent.Inspectors.OrderBy(s => s.Surname)...
,
Является ли ent.Inspectors IEnumerable, содержащим два элемента?