2009-12-05 1 views
0

Я использую класс SqlDependency и CacheManager (блок Cachcing для корпоративной библиотеки) для создания кеша в одном из проектов vb.net.Откат кеша, если запрос имеет WHERE Условие

Я зарегистрированный

OnDependencyChanged(ByVal sender As Object, ByVal e As SqlNotificationEventArgs) 

метод, чтобы получить уведомление обратно с Sql Server 2005.

Теперь проблема, если запрос не содержит какой-либо ИНЕКЕ, то кэш будет создаваться успешно, но если Я добавляю предложение where в свой запрос, тогда метод OnDependencyChanged() получает уведомление, как только создается кеш.

Мне нужно указать, возможно ли иметь предложение WHERE в запросе, который используется для кеширования. Моего запрос (с предложением WHERE):

SELECT [DATABASES_ID] 
     ,[DATABASENAME] 
     ,[SERVERNAME] 
    FROM [dbo].[DATABASES] 
    WHERE datediff(dd,getdate(), [DATECREATED]) <=0 

Благодаря Brijesh

ответ

1

проверить эту статью периферийного ограничения SQLDepenency запросов

http://msdn.microsoft.com/en-us/library/aewzkxxh.aspx

В частности примечания:

Статут ent не должен использовать никаких недетерминированных функций , включая функции ранжирования и окон.

GETDATE() является одной из таких функций.