获取特定实体的更改

Getting changes for a specific entity

是否有更有效的方法来执行以下操作?

public static DbEntityEntry<T> GetEntityChanges<T>(DbContext c, T entity) where T: class
{
    return c.ChangeTracker.Entries<T>().FirstOrDefault(t => t.Entity == entity);        
}

我有一个实体,我想获取该实体的更改。有没有办法在不通过 all 更改的实体进行枚举的情况下获得这些?

我想这就是你要找的:

public static DbEntityEntry<T> GetEntityChanges2<T>(DbContext c, T entity) where T: class
{
    return c.Entry(entity);
}

注意:在实践中,几乎没有意义将它包装在一个方法中,我这样做是为了与问题保持一致