我需要获得实体的先前值。
我的要求是这样的;我在编辑页面中有一些输入字段。
1用户可以在那里输入一些值,然后按保存按钮,此时用户应该可以保存它。
2用户可以在那里输入一些值,然后按取消按钮,此时页面应该重新加载用户开始编辑页面之前的任何值。
我的问题是,实体框架可以工作,帮助我们获取对象的先前值吗? 自我跟踪是否与此相关?
答案 0 :(得分:2)
你提到了“页面”,所以我猜你在谈论网络应用程序。在这种情况下,您只需再次从数据库加载实体,因为按“取消”按钮将向您的Web应用程序发出新请求。您应该为每个请求使用一个新的上下文,这样您就不会有任何以前的数据或实体重新加载 - 您将运行一个新的查询并将最后的数据保存到数据库。
答案 1 :(得分:0)
您想要做的是:
myContext.Refresh(RefreshMode.StoreWins, myObject);
这将要求上下文重新加载实体,删除对象的任何更改并从数据存储中替换属性值。