【发布时间】:2021-03-17 18:31:38
【问题描述】:
我的数据库中有一个实体与多个实体相关联,我需要为基础实体和子实体中的更改(插入、更新和删除)存储历史数据。
现在我们正在考虑采用的方法是将每个数据保留在相应的历史实体中。基表如下所示:
public partial class Con
{
public Guid Id { get; set; }
public string Note { get; set; }
...
public virtual ICollection<Document> Document { get; set; }
public virtual ICollection<ConLine> ConLine { get; set; }
public virtual ICollection<Leg> Leg { get; set; }
}
而历史表是这样的,我不知道如何设计历史表来保存链接表数据:
public partial class ConHistory
{
public Guid Id { get; set; }
public Guid ConId { get; set; }
public int TransactionId { get; set; }
...
public virtual ICollection<Document> Document { get; set; }
public virtual ICollection<ConLine> ConLine { get; set; }
public virtual ICollection<Leg> Leg { get; set; }
}
我该如何解决这个问题?最好的行业做法是什么?我主要关心的是当孩子的数据被更改时,我如何登录到父历史表和相应的子历史表。
【问题讨论】:
标签: sql sql-server entity-framework asp.net-core audit