【问题标题】:Catch/Raise event on table data update C#在表数据更新 C# 上捕获/引发事件
【发布时间】:2010-05-12 03:24:23
【问题描述】:

我有 24/7 全天候服务,可以在 Sql Server 中保持充电、路由等设置(配置数据)。一旦启动,它就会使用 Linq2SQL 从表中加载数据,并在所有应用程序中使用这些数据。 我们需要一个解决方案来更新表中的设置数据,而无需重新启动应用程序。所以我很感兴趣是否可以捕获/确定表已更新,以便我可以刷新应用程序中的设置数据。我的意思是是否有可能在表上有任何删除、更新或插入时引发事件。

谢谢。

【问题讨论】:

    标签: c# .net sql-server linq-to-sql ado.net


    【解决方案1】:

    您正在寻找SqlDependency class

    【讨论】:

    • 似乎这是我需要的,但据我所知,它正在使用通知服务,而且我知道 MS SQL 2008 上没有通知服务。如果我错了,请纠正我
    • 你错了; SQL Server 2005 及更高版本支持此功能。 msdn.microsoft.com/en-us/library/t9x04ed2.aspx
    • 因为这是我所期望的。谢谢你。我会试试的。
    【解决方案2】:

    SQL Server 有@@ROWCOUNT 函数,它会告诉你有多少行受到影响。不知道如何从 LINQ 获得它

    我的意思是可以举办活动吗 当有任何 在表上删除、更新或插入。

    在数据库端,这可以通过触发器来完成

    【讨论】:

    • 你误解了这个问题。 (除非我是)
    • 实际上,重点不是获取受影响的行,但是一旦我的设置表有任何更改,我需要以某种方式知道。有类似发布订阅的东西。我需要我的应用程序订阅表格上的任何更改。
    • 抱歉,我可能没有明确提到我需要在应用程序端触发该事件,因此触发器将不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 2013-03-31
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    相关资源
    最近更新 更多