Я создаю пакет форумов для cms и рассматриваю кеширование некоторых запросов, чтобы помочь с производительностью, но я не уверен, что кеширование ниже поможет/сделает то, что должно быть на нижнем (КСТАТИ: Cachehelper простой вспомогательный класс, который просто добавляет и удаляет из кэша)Caching Linq Query Question
// Set cache variables
IEnumerable<ForumTopic> maintopics;
if (!CacheHelper.Get(topicCacheKey, out maintopics))
{
// Now get topics
maintopics = from t in u.ForumTopics
where t.ParentNodeId == CurrentNode.Id
orderby t.ForumTopicLastPost descending
select t;
// Add to cache
CacheHelper.Add(maintopics, topicCacheKey);
}
//End Cache
// Pass to my pager helper
var pagedResults = new PaginatedList<ForumTopic>(maintopics, p ?? 0, Convert.ToInt32(Settings.ForumTopicsPerPage));
// Now bind
rptTopicList.DataSource = pagedResults;
rptTopicList.DataBind();
не LinQ выполнять только при его перечисленных? Таким образом, это не сработает? как его единственное перечисление, когда я передаю его помощнику подкачки, который .Take() имеет определенное количество записей на основе значения querystring 'p'