MemberChangeConflict クラス

定義

クライアントによる最後の読み取り以降にメンバー値が更新されたため、試行される更新が失敗する状況を表します。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
継承
MemberChangeConflict

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

注釈

次の例では、競合しているメンバーに関する情報を取得する方法を示します。The following example shows how to retrieve information about members in conflict.

プロパティ

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.

メソッド

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(Object)

競合しているメンバーの現在の値として設定する値を指定します。Specifies the value to set as the current value for the member in conflict.

Resolve(RefreshMode)

競合しているメンバーの現在の値として設定する値を自動的に指定するには、RefreshMode パラメーターを使用します。Uses a RefreshMode parameter to automatically specify the value to set as the current value for the member in conflict.

ToString()

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

(継承元 Object)

適用対象