Freigeben über


MemberChangeConflict Klasse

Definition

Stellt eine Situation dar, in der eine Aktualisierung nicht ordnungsgemäß durchgeführt werden kann, da Memberwerte aktualisiert wurden, seit sie zuletzt vom Client gelesen wurden.

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

Beispiele

// 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

Hinweise

Im folgenden Beispiel wird gezeigt, wie Sie Informationen zu Elementen in Konflikten abrufen.

Eigenschaften

CurrentValue

Ruft den aktuellen Wert des Members ab, der von einem Konflikt betroffen ist.

DatabaseValue

Ruft den Datenbankwert des Members ab, der von einem Konflikt betroffen ist.

IsModified

Ruft einen Wert ab, der angibt, ob die Memberdaten seit dem letzten Lesevorgang oder der letzten Aktualisierung durch die Datenbank geändert wurden.

IsResolved

Ruft einen Wert ab, der angibt, ob der Konflikt gelöst wurde.

Member

Ruft Metadateninformationen über den Member ab, der von einem Konflikt betroffen ist.

OriginalValue

Ruft den ursprünglichen Wert des Members ab, der von einem Konflikt betroffen ist.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Resolve(Object)

Gibt den Wert an, der als aktueller Wert für den Member festgelegt werden soll, der von einem Konflikt betroffen ist.

Resolve(RefreshMode)

Gibt mit einem RefreshMode-Parameter automatisch den Wert an, der als aktueller Wert für den Member verwendet werden soll, der von einem Konflikt betroffen ist.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: