MemberChangeConflict Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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) |