C# 在c中观察SQL表或查询更改的最佳方法#

C# 在c中观察SQL表或查询更改的最佳方法#,c#,.net,system.reactive,C#,.net,System.reactive,我有以下存储库方法 IEnumerable<Client> repo.GetActiveClients(); IEnumerable repo.getActiveClient(); 定期调用此方法并观察结果可枚举列表的更改的最佳方法是什么 我知道,RX提供了.ToObservable(),它简化了通过订阅对收藏更改的响应,但从我看到的示例来看,我不知道如何最好地处理轮询和定期调用方法,该方法将首先更改集合的内容?除非我在您的问题中遗漏了什么,否则我认为这是最好的选择: IDisp

我有以下存储库方法

IEnumerable<Client> repo.GetActiveClients();
IEnumerable repo.getActiveClient();
定期调用此方法并观察结果可枚举列表的更改的最佳方法是什么


我知道,RX提供了
.ToObservable()
,它简化了通过订阅对收藏更改的响应,但从我看到的示例来看,我不知道如何最好地处理轮询和定期调用方法,该方法将首先更改集合的内容?

除非我在您的问题中遗漏了什么,否则我认为这是最好的选择:

IDisposable subscription =
    Observable
        .Interval(TimeSpan.FromSeconds(15.0))
        .Select(x => repo.GetActiveClients())
        .Subscribe(clients =>
        {
            /* do something with the `clients` */
        });

很简单。

为什么不缓存结果,第二次只比较旧结果和新结果。。。顺便说一句,像这样的场景是开始使用EventSourcing或CQRS模式>>>>的候选,如果你知道的话很简单:)-这是我一直在寻找的
Interval
子句,以及将其与其他子句相结合的确切语法和方式。非常感谢。