RefreshMode Enumeration

RefreshMode Enumeration

 

Defines how the Refresh method handles optimistic concurrency conflicts.

Namespace:   System.Data.Linq
Assembly:  System.Data.Linq (in System.Data.Linq.dll)

public enum RefreshMode

Member nameDescription
KeepChanges

Forces the Refresh method to keep the current value that has been changed, but updates the other values with the database values.

KeepCurrentValues

Forces the Refresh method to swap the original value with the values retrieved from the database. No current value is modified.

OverwriteCurrentValues

Forces the Refresh method to override all the current values with the values from the database.

This enumeration applies to all Refresh overloads.

The following example overwrites current values with values from the database.

Northwnd db = new Northwnd("...");
try
{
    db.SubmitChanges(ConflictMode.ContinueOnConflict);
}

catch (ChangeConflictException e)
{
    Console.WriteLine(e.Message);
    foreach (ObjectChangeConflict occ in db.ChangeConflicts)
    {
        // All database values overwrite current values.
        occ.Resolve(RefreshMode.OverwriteCurrentValues);
    }
}

The following example shows how to swap the original value with the values retrieved from the database. No current value is modified.

try
{
    db.SubmitChanges(ConflictMode.ContinueOnConflict);
}

catch (ChangeConflictException e)
{
    Console.WriteLine(e.Message);
    foreach (ObjectChangeConflict occ in db.ChangeConflicts)
    {
        //No database values are merged into current.
        occ.Resolve(RefreshMode.KeepCurrentValues);
    }
}

The following example keeps the current values that have been changed, but updates the other values with database values.

.NET Framework
Available since 3.5
Windows Phone Silverlight
Available since 7.1
Return to top
Show:
© 2016 Microsoft