您好我正在尝试克隆一个EF实体,然后将其重新插入上下文中作为新行保存回数据库。后来,当我解决了这个问题时,我想扩展它以克隆一个完整的实体图并保存它。实体框架4 - 难以理解克隆实体的工作原理
我已经尝试了两个代码示例:
http://msmvps.com/blogs/matthieu/archive/2008/05/31/entity-cloner.aspx
这两者似乎工作。我认为问题是我对发生的事情的理解。据我了解,克隆过程使目标对象的分离克隆,我应该能够将Attach或AddObject返回到上下文,并将上下文保存到数据库,在数据库中将自动分配唯一的PK ID 。
令我困惑的是,当我克隆我的实体对象,然后在调试模式下查看克隆的属性时,似乎它的导航集合仍显然指向复制对象指向的有效实体。但EntityState是独立的。这是正常的吗?我认为克隆对象的导航属性指向与克隆对象图形中相同的对象。但是克隆对象是'独立'的,克隆的对象是'未更改'。
我很困惑......任何想法?
为何深度克隆? http://www.codeproject.com/Tips/474296/Clone-an-Entity-in-Entity-Framework-4 – markmnl 2012-11-23 00:13:50