Clone entity values with Entity Framework

Often you want to duplicate entities or their values in order to save an entity with a new ID. But what is the best way to do this?

There are many examples in the vastness of the Internet based on Object.Clone() or Reflection.
But this is not necessary. Entity Framework has inherent methods to copy values.

DbContext Clone

To simply copy values from an existing entity to a new entity, you have two stable ways.

Copy values to a local var first:

1var values = db.Entry(oldEntity).CurrentValues.Clone();
2var newEntity = ...
3db.Entry(newEntity ).CurrentValues.SetValues(values);
4newEntity.Id = 0;

Directly copy values from old entity to new entity.

1db.Entry(newEntity).CurrentValues.SetValues(oldEntity);
2newEntity.Id = 0;

These methods are stable and not based on any Reflection tinkering.

C# 15 Unions: Unions are finally in .NET

Mar 09, 2026 · 7 min read

C# 15 Unions: Unions are finally in .NET

After many years of workarounds, design discussions and library-level substitutes, unions are finally becoming a first-class part of C#. The …


Let's Work Together

Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.

New Platforms
Modernization
Training & Consulting

Comments

Twitter Facebook LinkedIn WhatsApp