[英]How to Add existing entity as a new Entity with Entity Framework
我想使用实体框架在数据库中创建对象的副本
首先,我从数据库获得了“书”
var entity1 = new testEntities();
var book= entity1.Books.First();
entity1.Dispose();
然后,我尝试将此对象添加为新对象
var entity2 = new testEntities();
book.Id = 0;
entity2.SaveChanges();
entity2.Dispose();
我也试图初始化Book的EntityKey没用
有什么方法可以在不创建新的Book和复制旧属性的情况下做到这一点?
谢谢
您需要获取实体,在ObjectStateManager
中将EntityState
更改为Added
,然后调用SaveChanges
:
var entity1 = new testEntities();
var book = entity1.Books.First();
ObjectStateEntry bookEntry = entity1.ObjectStateManager.GetObjectStateEntry(book);
bookEntry.ChangeState(EntityState.Added);
entity1.SaveChanges();
这将复制您的“书”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.