2010-07-23 3 views
0

Я довольно новичок в LINQ и имею проблему с тем, что, похоже, является нерегулярным кэшированием контента. На рассматриваемом веб-сайте есть 6 областей контента по разным темам, в настоящее время по странному случаю содержание просто пробегает ни с чем или имеет один и тот же контент для всех 6 областей. Это прояснится этот вопрос сам по себе с течением времени или только другим способом, чтобы исправить это, чтобы переработать приложение бассейн :(Проблема с кэшем LINQ

Пытались с помощью

DBLocal.Refresh (System.Data.Linq.RefreshMode.OverwriteCurrentValues , в отставке)

, но это вызвало аналогичные проблемы.

кто-нибудь еще наткнулся на эту проблему, как я не могу найти ничего об этом сайте

Благодаря Клинтон

ADDED КОД:

Dim discussionDetails As Model.Discussion = Services.Discussion.getById(discussionId) 


Public Function getById(ByVal discussionId As Integer) As Model.Discussion 
Dim _discussion As Model.Discussion = DBLocal.Discussions.SingleOrDefault(Function(p) p.DiscussionId.Equals(discussionId)) 
Return _discussion 
End Function 
+0

Я уверен, что вы имеете в виду «не может» в последнем предложении :-). Чтобы ответить на этот вопрос, нам нужно получить гораздо больше информации. –

+0

Не могли бы вы разместить свой код LINQ, а также код, который присваивает результаты различным областям контента? –

+0

Добавьте код выше для страницы, которая вытаскивает дискуссию из базы данных по ее идентификатору. В основном эта функция не возвращает ничего, даже если есть содержание :( – Clinton

ответ

0

Вы не показали нам жизненный цикл DBLocal экземпляра. Он должен быть выполнен по запросу в самом длинном и идеальном варианте.

Вы не показали нам код, который назначает обсуждение в области контента, ни код, который вызывает этот метод (как часто она называется и где этот код получить Идентификаторы из?)

Рассмотрим эти случаев.

  • SingleOrDefault возвращает null, если соответствующий экземпляр отсутствует.
  • SingleOrDefault бросает, если имеется более одного соответствующего экземпляра.
+0

Идентификатор возвращается из URL с помощью «Request.QueryString», который запускает функцию updatepage (id) Затем обсуждениеDetails определяется как в приведенном выше коде, а затем заменяет некоторые HTML-слова на странице следующим образом: strHTML = strHTML.Replace ("# NUMBER_OF_VIEWS", обсуждениеDetails.NumberOfViews.ToString()) – Clinton

Смежные вопросы