c# - 具有 SqlDependency 的 IN 运算符不起作用

标签 c# sql caching outputcache sqldependency

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/

相关文章:

javascript - 打印 HTML 页面时会添加额外的零

mysql - 在 innodb 中禁用 MySQL 全文搜索停用词

sql - Rails、ActiveRecord 和子查询

c# - c# 编译器是否在编译期间解析引用的引用?

c# - 使用 TimeSpan 作为定时器间隔

c# - ADLDS SSL 证书颁发身份验证失败

sql - 在 SQL Server View 中使用 IF

caching - 从 TypeScript 文件中收集引用依赖树

php - 在 kohana 3.3 中将默认组设置为 Cache

Mysql使用系统文件缓存,而不是直接使用RAM