Вопрос

Я пытаюсь написать vb.net приложение, которое используетSqlDependency.Зависимость будет срабатывать при добавлении данных в базу данных.Мне интересно, возможно ли, чтобы зависимость возвращала данные / запрос, которые ее вызвали.

В настоящее время я должен иметь onchange событие запускает оператор select для обновления данных, которые я кэшировал.Возможно ли просто заставить зависимость возвращать новые данные, которые ее вызвали

т. е.в таблицу добавляется следующее, в таблице есть 2 поля (идентификатор, данные)

id: 1  
data: hello  

Когда это будет добавлено, будет запущено событие dependency onchange и

id: 1  
data: hello  

будут возвращены

Это было полезно?

Решение

Видишь http://rusanu.com/2006/06/17/the-mysterious-notification/ для объяснения того, как SqlDependency работает под прикрытием.Невозможно получить изменения данных вместе с уведомлением.Хотя существуют технологии отслеживания изменений и сбора данных об изменениях, но по множеству причин они не подходят для приложений, отслеживающих изменения.Они предназначены для синхронизации данных (Sync Framework), и их пришлось бы извлекать для внесения изменений, что фактически сводит на нет любые попытки использовать их для кэширования.

Единственной технологией упреждающего изменения уведомлений является Query Notificatio, смотрите более подробную информацию по моей ссылке.

Другие советы

Нет.Я не думаю, что это возможно с SqlDependency.Вы могли бы либо использовать триггеры, либо использовать отслеживание изменений в SQL 2008.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top