Ich erstelle ein Forum-Paket für ein CMS und Blick auf Zwischenspeichern einige der Abfragen, um mit Leistung zu helfen, aber ich bin nicht sicher, wenn Zwischenspeichern die unten helfen/zu tun, was es auf die unten sollte (BTW: Cachehelper ist eine einfache Helfer-Klasse, die nur hinzufügt und entfernt aus Cache)
// 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();
Wird Linq nicht nur ausgeführt, wenn es aufgezählt wird? So die oben wird nicht funktionieren, wird es? als seine nur aufgezählt, wenn ich es an die Paging-Helper, die .Take() eine bestimmte Anzahl von Datensätzen auf der Grundlage eines Querystring Wert 'p' übergeben