EF实现一条数据的拷贝

需要在数据库Project表中新增一条已经存在的数据,除了主键ID以外,没有任何其它的变化,怎么用最少的代码实现这个功能呢?

 

首先,尝试了一下把数据查询出来不做任何改动直接调用AddObject。

                db.Project.AddObject(entity);
                db.SaveChanges();

不出意料的,报如下图错误

 

然后,考虑到改变实体的状态,如下。

                db.Project.Attach(entity);
                db.ObjectStateManager.ChangeObjectState(entity, EntityState.Added);
                db.SaveChanges();

就此,成功地在数据库Project表中新增了一条除了主键ID以外均相同的数据。

posted on 2015-11-03 17:55  简单的栗子  阅读(671)  评论(0编辑  收藏  举报