ObjectChangeConflict 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示具有一个或多个乐观并发冲突的更新尝试。
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) |