Asp.net mvc 4 是否可以对SQl依赖项进行计数查询?

Asp.net mvc 4 是否可以对SQl依赖项进行计数查询?,asp.net-mvc-4,signalr,sqldependency,query-notifications,Asp.net Mvc 4,Signalr,Sqldependency,Query Notifications,关于signar和SQL依赖关系,查询通知是否不能使用像count(*)这样的聚合函数 有没有其他方法或想法来创建包含聚合函数的查询?是的,如果您想使用像count(*)这样的聚合函数来查询sql依赖关系,我有一个解决方案。首先,在您的存储库中仍然使用select查询。但在读卡器中,您只需计算读卡器执行命令所需的数据。像这样的 int count = 0; command = new SqlCommand(@"select Edolpuz_DB.dbo.TABEL_KONFIRMASI_PEMB

关于signar和SQL依赖关系,查询通知是否不能使用像count(*)这样的聚合函数


有没有其他方法或想法来创建包含聚合函数的查询?

是的,如果您想使用像count(*)这样的聚合函数来查询sql依赖关系,我有一个解决方案。首先,在您的存储库中仍然使用select查询。但在读卡器中,您只需计算读卡器执行命令所需的数据。像这样的

int count = 0;
command = new SqlCommand(@"select Edolpuz_DB.dbo.TABEL_KONFIRMASI_PEMBAYARAN.ID_BUKTI_PEMBAYARAN from Edolpuz_DB.dbo.TABEL_KONFIRMASI_PEMBAYARAN where Edolpuz_DB.dbo.TABEL_KONFIRMASI_PEMBAYARAN.IS_NEW = @room", connect);
                command.Parameters.AddWithValue("room", true);
                try
                {
                    command.Notification = null;
                    SqlDependency dependency = new SqlDependency(command);
                    dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
                    if (connect.State == ConnectionState.Open)
                        connect.Close();
                    connect.Open();
                    reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        count++;
                    }
                    return count;
                }
                catch { return 0; }
                finally { connect.Close(); }
使用类时要小心,因为它有内存泄漏。您可以使用SqlDependency类的开源实现-。它使用数据库触发器和本机ServiceBroker通知来接收有关表更改的事件。这是一个使用示例:

int changesReceived=0;
使用(SqlDependencyEx SqlDependencyEx=new SqlDependencyEx(
测试\连接\字符串、测试\数据库\名称、测试\表\名称)
{
sqlDependency.TableChanged+=(o,e)=>changesReceived++;
sqlDependency.Start();
//更改表格。
MakeTableInsertDeleteChanges(changesCount);
//请稍等,以接收所有更改。
睡眠(1000);
}
断言.AreEqual(changesCount,changesReceived);

使用SqlDependecyEx,您可以只监视插入或删除,避免更新,从而获得理想的结果:类似计数的行为。希望这有帮助。

@OmegaMan你能帮我吗?