对于审计日志记录目的,我在EF 4.1数据库优先方法中覆盖SaveChanges()
方法。从实体框架中的ObjectStateEntry获取所有密钥及其值
我有所有ObjectStateEntry对象,我想知道是否可以从每个ObjectStateEntry获取所有的键和它们的值。
IEnumerable<ObjectStateEntry> changes = this.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified);
foreach (ObjectStateEntry stateEntryEntity in changes)
{
if (!stateEntryEntity.IsRelationship &&
stateEntryEntity.Entity != null &&
!(stateEntryEntity.Entity is DBAudit))
{
list<object , object> KeyValues = GetAllKeyValues(stateEntryEntity);
//Do log all keyvalues
}
}
谢谢,有没有什么办法可以检索主键和外键? – Mostafa 2012-01-16 11:27:39