DBContexts是短暂的,创建和销毁每个请求。我有很多我希望在保存前和保存后执行的任务,我想用某种事件模型来处理这些任务。我想知道RX是正确的路线。如何从多个DBContexts创建一个热的RX观察值
是否有某种方式创建一个单一的“枢纽”,然后导致我的DBContext提高BeforeChange(SavingChanges事件)和后保存(没有适用的事件)观察,并将它们“推”到长期居住的枢纽。
实际上我想做到这一点在我的“枢纽”单身
public IObservable<EventPattern<EventArgs>> Saves = new Subject<EventPattern<EventArgs>>();
public void AttachContext(DbContext context)
{
Saves = Observable.FromEventPattern<EventArgs>(((IObjectContextAdapter)context).ObjectContext, "SavingChanges");
}
,但这样的方式AttachContext简单地养活自己产生可观测到exisitng保存observabe,而不是取代它(所有的订阅)?
我认为IDisposable的解决方案应该工作,但我对于它到底在做什么感觉有点失落。我会围绕它做一些阅读,但如果您有任何像样的文章可以指向我,我会很感激! – Andiih