ObjectChangeConflict クラス

定義

1 つまたは複数のオプティミスティック コンカレンシーの競合がある更新の試行を表します。Represents an update attempt with one or more optimistic concurrency conflicts.

public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
継承
ObjectChangeConflict

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);
        Console.ReadLine();
    }
}
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 = occ.Object

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

注釈

このシナリオでは、データベースの値が最後に読み取られてから更新されたため、更新の試行が失敗します。This scenario is one in which an attempted update fails because database values have been updated since the client last read them.

次の例では、競合しているオブジェクトに関する情報を取得する方法を示します。The following example shows how to retrieve information about objects in conflict.

プロパティ

IsDeleted

競合しているオブジェクトがデータベースから削除されているかどうかを示す値を取得します。Gets a value that indicates whether the object in conflict has been deleted from the database.

IsResolved

このオブジェクトの競合が既に解決されているかどうかを示す値を取得します。Gets a value that indicates whether the conflicts for this object have already been resolved.

MemberConflicts

更新が失敗する原因となった、メンバーのすべての競合のコレクションを取得します。Gets a collection of all member conflicts that caused the update to fail.

Object

競合しているオブジェクトを取得します。Gets the object in conflict.

メソッド

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
Resolve()

現在の値を保持し、最新のデータベースの値に一致させるためにベースラインの元の値をリセットすることで、メンバーの競合を解決します。Resolves member conflicts by keeping current values and resetting the baseline original values to match the more recent database values.

Resolve(RefreshMode)

指定した RefreshMode を使用して、メンバーの競合を解決します。Resolves member conflicts by using the specified RefreshMode.

Resolve(RefreshMode, Boolean)

現在の値を保持し、ベースラインの元の値をリセットすることで、メンバーの競合を解決します。Resolve member conflicts keeping current values and resetting the baseline original values.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象