C# 获取DbContext.ChangeTracker.Entries的默认类型

C# 获取DbContext.ChangeTracker.Entries的默认类型,c#,entity-framework,orm,dbcontext,C#,Entity Framework,Orm,Dbcontext,我正在尝试在经过添加、编辑和删除的条目上创建日志。 我还需要知道它们的基本类型,我提出了以下解决方案: foreach (DbEntityEntry e in _context.ChangeTracker.Entries()) { if (e.State == EntityState.Added) { _log.Write(_context.Database.Connection.Database, "ADD", typeof(<Type>).Name

我正在尝试在经过添加、编辑和删除的条目上创建日志。 我还需要知道它们的基本类型,我提出了以下解决方案:

foreach (DbEntityEntry e in _context.ChangeTracker.Entries())
{
    if (e.State == EntityState.Added)
    {
        _log.Write(_context.Database.Connection.Database, "ADD", typeof(<Type>).Name, null, (<Type>)e.Entity);
    }
    else if (e.State == EntityState.Modified)
    {
        _log.Write(_context.Database.Connection.Database, "EDIT", typeof(<Type>).Name, null, (<Type>)e.Entity);
    }
    else if (e.State == EntityState.Deleted)
    {
        _log.Write(_context.Database.Connection.Database, "DELETE", typeof(<Type>).Name, null, (<Type>)e.Entity);
    }
}

_context.SaveChanges();
_log.Commit();
foreach(在_context.ChangeTracker.Entries()中的DbEntityEntry e)
{
if(e.State==EntityState.Added)
{
_log.Write(_context.Database.Connection.Database,“ADD”,typeof().Name,null,()e.Entity);
}
else if(e.State==EntityState.Modified)
{
_log.Write(_context.Database.Connection.Database,“EDIT”,typeof().Name,null,()e.Entity);
}
else if(e.State==EntityState.Deleted)
{
_log.Write(_context.Database.Connection.Database,“DELETE”,typeof().Name,null,()e.Entity);
}
}
_SaveChanges();
_log.Commit();
有没有办法获取“Entries”类型,因为它存储为“object”。 提前谢谢你

这应该有效:

Type entityType = ObjectContext.GetObjectType(e.Entity.GetType()).Name;