DBContext は存続期間が短く、リクエストごとに作成および破棄されます。保存前および保存後に実行したいタスクがいくつかあり、これらをある種のイベント モデルで処理したいと考えています。RXが正しいルートなのだろうかと思っています。
シングルトンの「ハブ」を作成し、DBContext で BeforeChange (SavingChanges イベント) を発生させ、ポスト保存 (該当するイベントなし) の Observable を発生させ、それらを長寿命のハブに「プッシュ」する方法はありますか?
実際には、「ハブ」シングルトンでこれを行いたい
public IObservable<EventPattern<EventArgs>> Saves = new Subject<EventPattern<EventArgs>>();
public void AttachContext(DbContext context)
{
Saves = Observable.FromEventPattern<EventArgs>(((IObjectContextAdapter)context).ObjectContext, "SavingChanges");
}
しかし、AttachContext が生成されたオブザーバブルを、それ (およびそのすべてのサブスクリプション) を置き換えるのではなく、既存の Saves オブザーバブルに単純にフィードするような方法で?