Skip to content

Instantly share code, notes, and snippets.

@mizrael
Created January 26, 2018 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mizrael/2975e845142168e115ed4663666a5f4d to your computer and use it in GitHub Desktop.
Save mizrael/2975e845142168e115ed4663666a5f4d to your computer and use it in GitHub Desktop.
reset the entities state on a Entity Framework Db Context
public static class DbContextExtensions
{
public static void Reset(this DbContext context)
{
var entries = context.ChangeTracker
.Entries()
.Where(e => e.State != EntityState.Unchanged)
.ToArray();
foreach (var entry in entries)
{
switch (entry.State)
{
case EntityState.Modified:
entry.State = EntityState.Unchanged;
break;
case EntityState.Added:
entry.State = EntityState.Detached;
break;
case EntityState.Deleted:
entry.Reload();
break;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment