I want to create a copy my object in my DB with using Entity Framework
first I got my "Book" from DB
var entity1 = new testEntities();
var book= entity1.Books.First();
entity1.Dispose();
then, I tried to add this object as a new object
var entity2 = new testEntities();
book.Id = 0;
entity2.SaveChanges();
entity2.Dispose();
Also I trid to initilize EntityKey of Book it didnt work
Is there any way doing this without creating new Book and copy properties from old one?
Thanks
You need to fetch the entity, change the EntityState
to Added
in the ObjectStateManager
and call SaveChanges
:
var entity1 = new testEntities();
var book = entity1.Books.First();
ObjectStateEntry bookEntry = entity1.ObjectStateManager.GetObjectStateEntry(book);
bookEntry.ChangeState(EntityState.Added);
entity1.SaveChanges();
This will copy your 'book'.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With