我正在编写产品库存跟踪器应用程序,我正在尝试为每个库存创建数据审计跟踪。每当修改一个股票时,我想要一个存储在另一个表格中的副本,包括编辑它的人。问题是需要存储一组动态的 CustomProperties 。跟踪变化的最佳方法是什么?我的第一个想法是创建一个具有相同字段的表。
目前我的库存类存储方式如下。
public class Inventory
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int InventoryID { get; set; }
public int ProductID { get; set; }
[ForeignKey("ProductID")]
public Product Product { get; set; }
public ICollection<CustomInventoryProperty> CustomProperties { get; set; }
}
自定义属性存储如下
public class CustomInventoryProperty
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CustomPropertyID { get; set; }
public string PropertyName { get; set; }
public string PropertyValue { get; set; }
public int InventoryID { get; set; }
[ForeignKey("ProductID")]
public virtual Inventory Inventory { get; set; }
}