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