ObjectChangeConflict クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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) |
指定した RefreshMode を使用して、メンバーの競合を解決します。 |
Resolve(RefreshMode, Boolean) |
現在の値を保持し、ベースラインの元の値をリセットすることで、メンバーの競合を解決します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET