我正在尝试跟踪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>
答案 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