Как я могу отменить изменения, когда SaveChanges () не удается? - PullRequest
1 голос
/ 23 июня 2010

Как я могу отменить изменения, если SaveChanges () не удается?

contextObject.Toto.AddObject( new Toto());

try
{
    contextObject.SaveChanges();
}
catch
{
      // Undo changes !
}

В этом примере я хотел бы удалить новый объект Toto из памяти.Я не хочу удалять это вручную.Я хочу синхронизировать мой contextObject с моей базой данных.

Ответы [ 2 ]

1 голос
/ 24 июня 2010
0 голосов
/ 23 июня 2010

Сохранение изменений и управление параллелизмом :

try
{
    // Try to save changes, which may cause a conflict.
    int num = context.SaveChanges();
    Console.WriteLine("No conflicts. " +
        num.ToString() + " updates saved.");
}
catch (OptimisticConcurrencyException)
{
    // Resolve the concurrency conflict by refreshing the 
    // object context before re-saving changes. 
    context.Refresh(RefreshMode.ClientWins, orders);

    // Save changes.
    context.SaveChanges();
    Console.WriteLine("OptimisticConcurrencyException "
    + "handled and changes saved");
}
...