ドメインイベントを保存しようとする非常に奇妙なシナリオがあります(CQRSとRavenDBを同時に学習しようとしています)。保存しようとしているドキュメントの基本構造は次のとおりです。
public interface IDomainEvent { ... }
public abstract class BaseDomainEvent : IDomainEvent { ... }
public class DomainEventA : BaseDomainEvent { ... }
public class DomainEventB : BaseDomainEvent { ... }
RavenDBの同じコレクションに保存DomainEventA
したいので、なんとかそうすることができました。DomainEventB
しかし、問題は、コレクションにのDomainEventB
プロパティがなく、オブジェクトを格納するトランザクションをコミットする前にプロパティが設定されていることを確認したにもかかわらず、すべてのプロパティが設定されていないことです。次の要点は、私がやりたいことの実際の例を示しています:https ://gist.github.com/2830093 、そして私を失敗させるテストコードはこのテストで見つかります:https ://github.com/mastoj/TJこのRavenDBコードを使用している.CQRS/blob / ravenfail / TJ.CQRS.RavenEvent.Tests / RavenEventStoreTests.cs : https ://github.com/mastoj/TJ.CQRS/blob/ravenfail/TJ.CQRS.RavenEvent/RavenEventStore .cs。
私は本当にこれに頭を悩ませることができません。
編集1:失敗したシナリオでは、保存されたオブジェクトのメタデータはそれが1つのタイプであると言っていますが、そのタイプのプロパティは保存されていません。