Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通知从通用数据库到WPF应用程序的更改_C#_Wpf_Database_Linq_Entity Framework - Fatal编程技术网

C# 通知从通用数据库到WPF应用程序的更改

C# 通知从通用数据库到WPF应用程序的更改,c#,wpf,database,linq,entity-framework,C#,Wpf,Database,Linq,Entity Framework,就像在标题中一样,我需要通知我的C WPF应用程序数据库中的任何更改,因为有另一个应用程序在一个表中添加数据 我正在使用实体框架和Linq。dbms可以是不同的SQL Server、Oracle、MySQL等 关于这一点,我读了很多书,我在这里也问了很多问题:有没有办法不使用轮询就实现这一目标?我希望以下链接可以帮助您,特别是事件通知和Sql server的CLR objectscomments on Redis等Sql server工具的答案,但这可能仅限于一个或两个数据库: 对于Oracl

就像在标题中一样,我需要通知我的C WPF应用程序数据库中的任何更改,因为有另一个应用程序在一个表中添加数据

我正在使用实体框架和Linq。dbms可以是不同的SQL Server、Oracle、MySQL等


关于这一点,我读了很多书,我在这里也问了很多问题:有没有办法不使用轮询就实现这一目标?

我希望以下链接可以帮助您,特别是事件通知和Sql server的CLR objectscomments on Redis等Sql server工具的答案,但这可能仅限于一个或两个数据库:

对于Oracle数据库,ODP具有类似的通知机制:


由于SQL和Oracle的EF提供程序不同,对其他数据库的支持也非常少,因此您可以托管服务等,监听更改通知并发布数据更改事件,以便订阅者可以采取适当的操作,如刷新上下文或更新缓存等。

是,您必须侦听数据库事件。但这需要非常特定于RDBMS的配置和C代码。这使得这个话题太宽泛了。您可以开始。例如,SQLServer2008中有更改跟踪功能。您真的需要对任何表进行任何更改吗?你会如何处理它?现在问题真的太广泛了。@GertArnold您的链接只针对SQL Server。。。我说了算dbms@VDohnal也请发表评论。。我说过dbms可以是rdbms的一切,这就是为什么我说从这里开始。但是你的链接是dbms特有的。。。它是否存在一些通用性?通用性是一个棘手的现象,阿飞:-这就是为什么我提到它适用于很多数据库,而且EF本身在大多数数据库中不是通用的,不像其他ORM一样NHibernate@PieroAlberto但您可以将服务回调方法作为一种模式,这样无论您使用什么数据库,都可以类似的回调支持可以调用到服务中来发布通知。好的,那么,如何使用EF支持的所有数据库呢?服务回调是什么意思?@PieroAlberto请更仔细地看一下提供的链接,方法是您将托管一个web服务,并将该服务名称提供给数据库例程/proc,在数据修改时,proc将调用web服务。我称之为“服务回调”。我建议你看看Oracle ODP链接,你可以了解更多。