RollBack

public static void RollBack(this ObjectContext context)
{
IEnumerable<ObjectStateEntry> objectStateentries = context.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified);

foreach (ObjectStateEntry entry in objectStateentries)
{
if (entry.State == EntityState.Modified)
{
if (entry.CurrentValues != entry.OriginalValues)
{
for (int i = 0; i < entry.OriginalValues.FieldCount; i++)
{
entry.CurrentValues.SetValue(i, entry.OriginalValues[i]);
}
entry.AcceptChanges();
}
}
else
{
if (entry.State == EntityState.Added && entry != null)
{
entry.Delete();
}
else
{
entry.ChangeState(EntityState.Unchanged);
}
}
}
}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: