C# 同一表上的多个SQL依赖项

C# 同一表上的多个SQL依赖项,c#,sql,sql-server,sqldependency,C#,Sql,Sql Server,Sqldependency,我需要在同一个表上有两个SQL依赖项,因为出于不同的原因我必须监视它们 因此,我编写了以下两个查询- **SELECT [ID], [COLUMN1] FROM DBO.TABLENAME WHERE SOMECOLUMN = VAL1 ORDER BY ID** **SELECT [ID], [COLUMN2] FROM DBO.TABLENAME WHERE SOMECOLUMN = VAL1 ORDER BY ID** 早些时候,我们只使用第一个查询,后来添加了第二个查询。 它们都用于

我需要在同一个表上有两个SQL依赖项,因为出于不同的原因我必须监视它们

因此,我编写了以下两个查询-

**SELECT [ID], [COLUMN1] FROM DBO.TABLENAME WHERE SOMECOLUMN = VAL1 ORDER BY ID**

**SELECT [ID], [COLUMN2] FROM DBO.TABLENAME WHERE SOMECOLUMN = VAL1 ORDER BY ID**
早些时候,我们只使用第一个查询,后来添加了第二个查询。 它们都用于创建两个独立的依赖项

但我观察到的是,当我更新COLUMN2时,我只希望第二个查询注册的回调被触发。相反,两个回调(在第一个查询和第二个查询中注册的回调)都会被触发

有人能帮我吗


提前感谢。

在查询通知中,投影列和更新列之间的区别一直是个问题。不幸的是,事情就是这样,所以你会得到误报(当什么都没有改变时的通知)。见:

请注意,SQL Server可能会生成查询通知,以响应不会更改数据的事件,或响应不会实际影响查询结果的更改。例如,当UPDATE语句更改查询返回的其中一行时,即使对该行的更新没有更改查询结果中的列,也可能触发通知


在这种情况下,依赖关系是什么意思?这是一个触发器吗?在这个上下文中,我指的是依赖关系-为什么你想要两个依赖关系而不是一个调用两个函数的依赖关系?会更容易控制吗?@AllanS.Hansen谢谢您的回复。原因是,改变第1列和第2列时要采取的行动是不同的。因此,两个依赖项调用两个不同的函数。然后我认为您需要显示一些依赖项设置/回调代码,但我仍然建议您将它们完全拆分,或者由同一个控制器处理。根据我的经验,这更容易管理。