MemberChangeConflict.Resolve 方法 (Object)
通过将客户端值 (即,前端 Web 服务器上的当前进程中的值) 的字段 (或属性) 的设置为指定的对象解析差异。
命名空间: Microsoft.SharePoint.Linq
程序集: Microsoft.SharePoint.Linq(位于 Microsoft.SharePoint.Linq.dll 中)
语法
声明
Public Sub Resolve ( _
value As Object _
)
用法
Dim instance As MemberChangeConflict
Dim value As Object
instance.Resolve(value)
public void Resolve(
Object value
)
参数
value
类型:System.Object设置的值的字段 (或属性) 应进行。
备注
通常情况下,如果您希望客户端值为CurrentValue, OriginalValue或DatabaseValue,则调用另一个重载的Resolve(RefreshMode) ,并将其传递相应的RefreshMode值。此重载可用于将客户端值设置为某些第四个对象。
直到再次调用SubmitChanges时,由该方法所做的更改不保持到数据库。
示例
下面的代码演示如何使用Resolve(Object)来指示它有争议的字段分配一个值。如果MemberChangeConflict对象表示实际的并发冲突 ; 只有进行此工作分配即另一个用户已更改字段中,由于该客户端进程最后它从数据库中检索内容。
catch (ChangeConflictException e)
{
foreach (ObjectChangeConflict changedListItem in teamSite.ChangeConflicts)
{
foreach (MemberChangeConflict changedField in changedListItem.MemberConflicts)
{
if (changedField.Member.OriginalValue != changedField.Member.OriginalValue)
{
changedField.Resolve(((Object)”Disputed”));
}
else
{
changedField.Resolve(RefreshMode.KeepCurrentValues);
}
}
}
}
// Remainder of catch block omitted.
}
Catch e As ChangeConflictException
For Each changedListItem As ObjectChangeConflict In teamSite.ChangeConflicts
For Each changedField As MemberChangeConflict In changedListItem.MemberConflicts
If changedField.Member.OriginalValue IsNot changedField.Member.OriginalValue Then
changedField.Resolve((CType("Disputed", Object)))
Else
changedField.Resolve(RefreshMode.KeepCurrentValues)
End If
Next changedField
Next changedListItem
End Try
' Remainder of catch block omitted.