9

我们想为每个实体创建一个历史表。给定现有实体,有没有办法让实体框架自动创建历史实体/表?

例如,Customer实体将有一个名为 的影子历史表CustomerHistory。每当有编辑或删除时,旧记录将被插入到历史表中。主实体表将始终包含当前记录。

由于我们有几个实体,我宁愿不必为每个实体创建单独的历史实体和存储库,从而使实体加倍。

我们希望对所有实体执行此操作,以跟踪实体的事务和状态时间变化。

我们使用工作单元和存储库模式。

假设实体和EntityHistory对象的属性相同,尽管我们可能希望使用一些日期时间属性来扩展历史对象。

我了解如何重写DbContext.SaveChanges以写入历史/审计表

我想避免做的是必须为我们拥有的每个实体创建重复的历史实体/存储库。

我目前正在探索OnModelCreating为每个实体创建一个历史实体,但还没有找到一个很好的例子。

有任何想法吗?

4

0 回答 0