MemberChangeConflict Class

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Represents a situation in which an attempted update fails because member values have been updated since the client last read them.

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

System.Object
  System.Data.Linq.MemberChangeConflict

public sealed class MemberChangeConflict

NameDescription
System_CAPS_pubpropertyCurrentValue

Gets the current value of the member in conflict.

System_CAPS_pubpropertyDatabaseValue

Gets the database value of the member in conflict.

System_CAPS_pubpropertyIsModified

Gets a value that indicates whether the member data has been changed since the last database read or refresh.

System_CAPS_pubpropertyIsResolved

Gets a value that indicates whether the conflict has been resolved.

System_CAPS_pubpropertyMember

Gets metadata information about the member in conflict.

System_CAPS_pubpropertyOriginalValue

Gets the original value of the member in conflict.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodResolve(Object)

Specifies the value to set as the current value for the member in conflict.

System_CAPS_pubmethodResolve(RefreshMode)

Uses a RefreshMode parameter to automatically specify the value to set as the current value for the member in conflict.

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

The following example shows how to retrieve information about members in conflict.

// Add 'using System.Reflection' for this section.
Northwnd db = new Northwnd("...");

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

catch (ChangeConflictException e)
{
    Console.WriteLine("Optimistic concurrency error.");
    Console.WriteLine(e.Message);
    foreach (ObjectChangeConflict occ in db.ChangeConflicts)
    {
        MetaTable metatable = db.Mapping.GetTable(occ.Object.GetType());
        Customer entityInConflict = (Customer)occ.Object;
        Console.WriteLine("Table name: {0}", metatable.TableName);
        Console.Write("Customer ID: ");
        Console.WriteLine(entityInConflict.CustomerID);
        foreach (MemberChangeConflict mcc in occ.MemberConflicts)
        {
            object currVal = mcc.CurrentValue;
            object origVal = mcc.OriginalValue;
            object databaseVal = mcc.DatabaseValue;
            MemberInfo mi = mcc.Member;
            Console.WriteLine("Member: {0}", mi.Name);
            Console.WriteLine("current value: {0}", currVal);
            Console.WriteLine("original value: {0}", origVal);
            Console.WriteLine("database value: {0}", databaseVal);
            Console.ReadLine();
        }
    }
}

.NET Framework
Available since 3.5
Windows Phone Silverlight
Available since 7.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: