我正在尝试编写一个使用SqlDependency
的vb.net应用程序。将数据添加到数据库时将触发依赖关系。我想知道是否有可能让依赖项返回触发它的数据/查询。
目前我必须让onchange
事件触发一个select语句来刷新我缓存的数据。是否可以让依赖项返回触发它的新数据
即。将以下内容添加到表中,该表有2个字段(id,data)
id: 1
data: hello
添加此项后,将触发依赖onchange事件并
id: 1
data: hello
将被退回
答案 0 :(得分:2)
有关SqlDependency如何在幕后工作的解释,请参阅http://rusanu.com/2006/06/17/the-mysterious-notification/。无法随通知一起获取数据更改。虽然存在围绕变更跟踪和变更数据捕获的技术,但由于多种原因,它们不适用于监控变更的应用程序。它们用于数据同步(Sync Framework),并且必须进行更改,这实际上会杀死任何使用它们进行缓存的尝试。
唯一的主动通知更改技术是查询通知,请参阅我的链接中的更多详细信息。
答案 1 :(得分:1)
没有。我认为SqlDependency不可能。 您可以使用触发器,也可以在SQL 2008中使用更改跟踪。