请帮助我清楚以下问题。
最近我问了一个关于SO的问题,关于通过LINQ to SQL立即从SQL Server DB更新WPF类的可能性:
How to use PropertyChangedEventHandler of LINQ to SQL class for immediate updating?
从答案中我知道这是一个相当复杂的问题,并且没有简单的方法可以知道数据库中何时以及究竟发生了什么变化。最常见的方法是使用计时器对常量轮询DB。 (在答案中是解决此问题的其他方法,但作为解决方案的解决方案,对开发人员来说并不总是很明显)。
我的问题是(我认为这种情况对大多数数据库连接的应用程序都很常见):
想象一下,我在DB中有一个包含50'000或100'000条记录的表,我可以从中获得查询。
使用此查询我应该不断更新WPF应用程序中的一些可视化控件。 那么,这是否意味着我应该不断对这些记录总数进行查询,寻找其中一个可能发生变化的记录(不只是听一些关于可能更新的事件)?做这种事情是常见的方法吗?或者它根本不是问题,通常以毫秒为单位查询这样的记录数量?
答案 0 :(得分:3)
您可以在记录中包含时间戳字段,并在SQL Server中创建一个触发器,以便在更新或插入时更新该时间戳。在刷新代码中,查询表中是否有时间戳大于上次刷新时间的记录。
答案 1 :(得分:2)
没有办法让数据库通知不涉及数据库和应用程序之间的某些复杂通信的应用程序。但是,应用程序可以轻松地相互通知您可以使用WCF在应用程序之间进行通信的更改。您是在谈论使用数据库的单个应用程序还是多个应用程序?
您的具体情况是什么?你关心并发吗?