Ses*_*aat 5 .net c# entity-framework
我想使用Entity Framework在我的数据库中创建一个副本
首先我从DB获得了我的"书"
var entity1 = new testEntities();
var book= entity1.Books.First();
entity1.Dispose();
Run Code Online (Sandbox Code Playgroud)
然后,我尝试将此对象添加为新对象
var entity2 = new testEntities();
book.Id = 0;
entity2.SaveChanges();
entity2.Dispose();
Run Code Online (Sandbox Code Playgroud)
我也试图初始化Book的EntityKey它没有用
有没有办法这样做而不从旧的Book创建新的Book和copy属性?
谢谢
您需要获取实体,更改EntityState
并Added
在中ObjectStateManager
调用SaveChanges
:
var entity1 = new testEntities();
var book = entity1.Books.First();
ObjectStateEntry bookEntry = entity1.ObjectStateManager.GetObjectStateEntry(book);
bookEntry.ChangeState(EntityState.Added);
entity1.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
这将复制您的"图书".