使我们使用https://github.com/bilal-fazlani/tracker-enabled-dbcontext的使用跟踪记录如何审核日志插入(增加)的DbContext
创造变化的审计线索。我们还希望将插入内容记录到新记录的跟踪中。我们可以通过刚刚添加的实体来循环,但似乎没有办法为刚刚添加的实体获取ID。
一年前有书面提示这是一个限制/不可能的一篇文章 - https://www.exceptionnotfound.net/entity-change-tracking-using-dbcontext-in-entity-framework-6/
,但也有一些意见建议,有一种方法。我们研究了这些和相关的代码,但没有更清楚,实际上是否可以使用此框架正确审计插入?
foreach (var entryAdded in addedEntities)
{
var entityKeyObject = objectContext.ObjectStateManager.GetObjectStateEntry(entryAdded.Entity).EntityKey;
var entityKey = entityKeyObject.EntityKeyValues.Length >= 1 ? entityKeyObject.EntityKeyValues[0].Value : 0;
// insert into audit log here..
}