ObjectChangeConflict クラス

定義

1 つ以上のオプティミスティック コンカレンシーの競合を含む更新の試行を表します。

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

注釈

このシナリオでは、クライアントが最後に値を読み取った後にデータベース値が更新されたため、更新の試行が失敗します。

次の例は、競合しているオブジェクトに関する情報を取得する方法を示しています。

プロパティ

名前 説明
IsDeleted

競合しているオブジェクトがデータベースから削除されたかどうかを示す値を取得します。

IsResolved

このオブジェクトの競合が既に解決されているかどうかを示す値を取得します。

MemberConflicts

更新の失敗の原因となったすべてのメンバーの競合のコレクションを取得します。

Object

競合しているオブジェクトを取得します。

メソッド

名前 説明
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
Resolve()

現在の値を保持し、ベースラインの元の値をリセットして、より新しいデータベース値と一致させることで、メンバーの競合を解決します。

Resolve(RefreshMode, Boolean)

メンバーの競合を解決して、現在の値を保持し、ベースラインの元の値をリセットします。

Resolve(RefreshMode)

指定した RefreshModeを使用してメンバーの競合を解決します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象