【发布时间】:2013-11-04 20:13:26
【问题描述】:
我有一个允许店员编辑信息的网络应用程序。我会在编辑开始之前复制一个实体,以防用户决定取消更改。问题是对副本所做的任何更改都会应用于原始对象。
在 C# 中,我会创建一个深拷贝来避免这个问题,但这个应用程序使用的是实体框架...我不确定如何对实体进行深拷贝。
这里有更多关于我的问题的详细信息...我仍在努力解决。
我有一个 xaml 屏幕,其中的网格绑定到库存项目列表。这些项目是一个实体集。当我希望用户编辑其中一项时,我将当前实体的值复制到相同类型的对象“EntityToEdit”中。用户进行更改并保存,列表会随着更改自动刷新。
当用户选择另一个要编辑的项目时会出现此问题。第二项随着对第一项所做的更改而以某种方式发生了更改....
我怎样才能打破“链接”?!?
【问题讨论】:
-
没必要,使用
DbEntityEntry.OriginalValues。 -
这里是关于我的问题的更多细节......我仍在努力解决。我有一个 xaml 屏幕,其网格绑定到库存项目列表。这些项目是一个实体集。当我希望用户编辑其中一项时,我将当前实体的值复制到相同类型的对象“EntityToEdit”中。用户进行更改、保存,然后列表会随着更改自动刷新。当用户选择另一个项目进行编辑时会出现此问题。第二项以某种方式随着对第一项所做的更改而发生了变化……我怎样才能打破“链接”?!?
标签: entity-framework deep-copy