实体框架6.0 ChangeTracker.Entries非公共成员

时间:2015-03-22 00:13:03

标签: c# entity-framework

在我的项目中,我正在重写实体saveChanges()方法,如下所示。

public override int SaveChanges()
    {
        foreach (var entity in ChangeTracker.Entries()
        .Where(p => p.State == EntityState.Added || p.State == EntityState.Deleted || p.State == EntityState.Modified))
        {
           // Logs
        }

        return base.SaveChanges();
    }

但是,ChangeTracker.Entries()表示非公开成员。这不是一个错误,但我必须采取记录的值。因为ChangeTracker.Entries()count = 0,所以我无能为力。我正在使用Entityframework 6.0 Thnks。

1 个答案:

答案 0 :(得分:1)

实体框架仅在公共属性映射到数据库字段时跟踪更改。

如果要跟踪对象的更改,则需要更改公共属性。

在使用documentation中提到的ChangeTracker.DetectChanges()之前,您还应该致电ChangeTracker.Entries()

编辑:添加了关于ChangeTracker.DetectChanges()

的评论