私は現在、かなり大きな Web アプリケーションを開発中であり、ドメイン駆動設計を使用しています。
現在、製品エンティティへの変更を追跡する際に問題が発生しています。製品の一部は SQL Azure のデータから、一部は Azure Table Storage のデータから構築されます。特定のプロパティが変更された場合、両方に永続化する必要があり、他の変更は一方にのみ永続化する必要があります。
その結果、NHibernate または Entity Framework を使用して変更を追跡することはできません。たとえば、上の Price 引数
public void AddPrice(Price price)
Product エンティティのメソッドを SQL Azure に永続化する必要があります。価格の範囲で計算が行われ、結果が Azure Table Storage に保存されます。
これをどのように解決しますか?
考え:
1) Castle.DynamicProxy に基づいて独自の変更トラッカーを実装することを考えましたが、それはかなり面倒です。
2) ドメイン エンティティの内部でイベントを実装します。これは良いことではありません。