实体框架为实体创建历史表

Cam*_*ron 8 entity-framework-4

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

例如,Customer实体将具有一个名为的影子历史记录表CustomerHistory.只要有编辑或删除,旧记录就会插入到历史记录表中.主实体表将始终包含当前记录.

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

我们希望为所有实体执行此操作,以跟踪实体的事务和状态时间更改.

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

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

我理解如何覆盖DbContext.SaveChanges以写入历史/审计表.

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

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

有任何想法吗?