Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

MemberChangeConflict Class

Definition

Namespace:
System.Data.Linq
Assembly:
System.Data.Linq.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

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

public ref class MemberChangeConflict sealed
public sealed class MemberChangeConflict
type MemberChangeConflict = class
Public NotInheritable Class MemberChangeConflict
Inheritance
MemberChangeConflict

Examples

// 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();
 }
 }
}
' Add 'Imports System.Reflection' for this section.
Dim db As New Northwnd("...")
'...
Try
 db.SubmitChanges(ConflictMode.ContinueOnConflict)

Catch ex As ChangeConflictException
 Console.WriteLine("Optimistic concurrency error.")
 Console.WriteLine(ex.Message)
 For Each occ As ObjectChangeConflict In db.ChangeConflicts
 Dim metatable As MetaTable = db.Mapping.GetTable(occ.Object.GetType)
 Dim entityInConflict As Object = occ.Object

 Console.WriteLine("Table name: " & metatable.TableName)
 Console.Write("Customer ID: ")
 Console.WriteLine(entityInConflict.CustomerID)

 For Each mcc As MemberChangeConflict In occ.MemberConflicts
 Dim currVal = mcc.CurrentValue
 Dim origVal = mcc.OriginalValue
 Dim databaseVal = mcc.DatabaseValue
 Dim mi As MemberInfo = mcc.Member

 Console.WriteLine("Member: " & mi.Name)
 Console.WriteLine("current value: " & currVal)
 Console.WriteLine("original value: " & origVal)
 Console.WriteLine("database value: " & databaseVal)
 Console.ReadLine()
 Next
 Next
End Try

Remarks

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

Properties

Name Description
CurrentValue

Gets the current value of the member in conflict.

DatabaseValue

Gets the database value of the member in conflict.

IsModified

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

IsResolved

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

Member

Gets metadata information about the member in conflict.

OriginalValue

Gets the original value of the member in conflict.

Methods

Name Description
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Resolve(Object)

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

Resolve(RefreshMode)

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

ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to


Feedback

Was this page helpful?