"エンティティの履歴"を実行するためのソリューションを探しています。 は基本的に私はこのようなドメインをしました:NHibernateを使用して新しいエンティティをバージョンで挿入することによってエンティティをバージョニングする
public class Order
{
public virtual int OrderId { get; set; }
public virtual DateTime Date { get; set; }
public virtual ICollection<OrderItem> Items { get; set; }
public virtual int Version { get; set; }
}
public class OrderItem
{
public virtual int OrderItemId { get; set; }
public virtual Order Order { get; set; }
public virtual Product Product { get; set; }
public virtual int Quantity { get; set; }
public virtual int Version { get; set; }
}
は、私は、製品の変更などの依存エンティティの更新を防ぐために、これらのエンティティの履歴を保持する必要があります(名前、等。)
ので、私はしたいです各保存/更新時に更新されたバージョン番号で新しいエンティティを作成します。
私のリポジトリメソッドGetOrderByIdは、エンティティのバージョンを管理し、指定されている場合は最新のバージョンまたは特定のバージョンを取得する必要があります。
どうすればいいですか?おそらくNHibernateインターセプタを使用していますか?