sqldependency 是否与 IN
运算符一起使用?
我的命令是:
SELECT n.PublishedAt
FROM dbo.Navigations n
WHERE NavigationGroupId IN (SELECT ng.Id FROM dbo.NavigationGroups ng
WHERE ng.SiteId = 1
AND ng.IsActive = 1
AND ng.[Type]= 'Secondary')
AND n.IsActive = 1
我查看了 MSDN Dodumentation但没有提到 IN 运算符。
提前致谢。
最佳答案
来自文档:
"The statement must not contain subqueries, outer joins, or self-joins."
IN 通常映射到半连接。 Damien_The_Unbeliever 指出:
IN() is defined as either a subquery or a sequence of expressions - the one in the OPs question s a subquery.
因此它可能不受支持。
您能否将 IN 表示为内部联接?如果 IN 查询最多为每个外部行生成一行,则这会保留语义。如果有更多行将被复制。不过,这对于通知来说并不重要。它应该在完全相同的情况下触发。
关于c# - 具有 SqlDependency 的 IN 运算符不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30977543/