我正在开发一个应用程序,其中员工有一个要执行的任务列表。对于每项任务,他们都会使用一些项目。例如:一名机械师正在修车,必须更换保险杠换新的,所以机械师去仓库拿了一个新物品。该特定项目具有单价。因此,当这个人拿起他的固定汽车时,他会为保险杠支付特定的价格。但是,假设价格在几周后发生了变化。所以我改变了那个项目的单价。但在这项任务的历史上,它仍然必须是旧价格。
我想知道有什么方法可以最好地保留这个历史。我正在考虑在更改价格之前复制该特定项目,然后使用旧价格的项目更新任务。之后,我将使用新价格更新商品。
或者有没有其他方法可以实现这一目标?我正在使用 Fluent NHibernate 来处理我的数据库
假设这些是我的课程(对于示例来说有点简单,足够了)
public class Task
{
public virtual int Id;
public virtual string Description;
public virtual IList<Item> Items;
}
public class Item
{
public virtual int Id;
public virtual string ItemName;
public virtual decimal UnitPrice;
}
欢迎任何帮助:)