我正在尋找解決方案以執行一些「實體歷史」。 基本上我有一個域這樣的:版本控制實體插入新版本使用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攔截器?