无法在实体框架中找到ChangeTracker

时间:2017-03-06 17:04:16

标签: c# .net entity-framework

我正在尝试跟踪wpf中实体框架工作的变化。但是我无法找到defintion ChangeTracker,这里显示error.Below是我在wpf的数据输入表单中的“取消”按钮中编写的代码mvvm enity: 我的命令代表取消:

_commands.AddCommand("Cancel", x => Cancel(), x => CanSave());

和我的CancelSave方法:

        bool CanSave()
         { return ctx2.ChangeTracker.HasChanges(); 
        }

Bu ChangeTracker show errro说实体不包含更改跟踪器的定义。我正在使用visual studio 2010

这是实体的实例:  TESTSEntities ctx2 = new TESTSEntities();

我可以通过以下方式将更改保存到数据库中:

       public void Save()
      {

          ctx2.SaveChanges();

          }

这是从现有数据库表创建实体时系统生成的类:

  public partial class TESTSEntities :          global::System.Data.Objects.ObjectContext
      {
         /// <summary>

1 个答案:

答案 0 :(得分:0)

OjectContext没有ChangeTracker属性,DbContext有它。

要从Object上下文获取更改列表,请使用ObjectStateManager作为ObjectContext实例,即

ctx2.ObjectStateManager.GetObjectStateEntries(EntityState.Added /删除/修改)

https://msdn.microsoft.com/en-us/library/system.data.objects.objectstatemanager.getobjectstateentries(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.data.entitystate(v=vs.110).aspx