EF Core ChangeTracker的当前值和原始值与已修改实体相同

问题描述

我正在使用EF Core的变更跟踪器创建审计跟踪,并且对于状态为AddedModifiedDeleted的每个实体,我都会创建一个新的审计实体来插入到我的Audit表中。我想拍摄UPDATE之前的快照,并用JSON捕获它,然后对UPDATE之后的实体快照执行相同的操作。

var entityType = this.Model.FindEntityType(dbEntry.Entity.GetType());
var originalObjectProperties = new Dictionary<string,object>();
var currentObjectProperties = new Dictionary<string,object>();

foreach (var property in entityType.GetProperties())
{
    originalObjectProperties.Add(property.GetColumnName().ToUpper(),dbEntry.OriginalValues[property.Name]);
    currentObjectProperties.Add(property.GetColumnName().ToUpper(),dbEntry.CurrentValues[property.Name]);
}

dbEntry是来自变更跟踪器的实体条目。这些给了我同样的JSON。在我的测试中,我有一个INSERTUPDATEDELETE,这就是BEFORE_JSONAFTER_JSON在我的{{ 1}}:

UPDATE

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)