ICustomMapping.Resolve 方法
解决了在相对于其当前的客户端值列表项目中的一个或多个字段的值在数据库中,其当前值,当最初从数据库中检索其值的差异。
命名空间: Microsoft.SharePoint.Linq
程序集: Microsoft.SharePoint.Linq(位于 Microsoft.SharePoint.Linq.dll 中)
语法
声明
Sub Resolve ( _
mode As RefreshMode, _
originalListItem As Object, _
databaseListItem As Object _
)
用法
Dim instance As ICustomMapping
Dim mode As RefreshMode
Dim originalListItem As Object
Dim databaseListItem As Object
instance.Resolve(mode, originalListItem, _
databaseListItem)
void Resolve(
RefreshMode mode,
Object originalListItem,
Object databaseListItem
)
参数
mode
类型:Microsoft.SharePoint.Linq.RefreshMode一个值,指定要使用的规则,在解决矛盾中。
originalListItem
类型:System.Object它最初从数据库中检索内容的客户端项后,可以强制转换为SPListItem对象表示列表项的值。
databaseListItem
类型:System.Object一个对象,表示数据库项目中的列表项的当前值,并可以强制转换为SPListItem。
示例
下面的代码演示了Resolve(RefreshMode, Object, Object)的示例实现。在此示例中,(其内容类型是书籍) 的书籍列表具有名为ISBN和UPCA的新列。
public void Resolve(RefreshMode mode, object originalListObject, object databaseListObject)
{
SPListItem originalListItem = (SPListItem)originalListObject;
SPListItem databaseListItem = (SPListItem)databaseListObject;
if ((mode == RefreshMode.OverwriteCurrentValues)
||
((mode == RefreshMode.KeepChanges) && (this == originalListItem)))
{
this.ISBN = databaseListItem["ISBN"];
this.UPCA = databaseListItem["UPCA"];
}
else if (mode == RefreshMode.KeepChanges)
{
if (!(OriginalValues.Contains("ISBN")))
{
this.ISBN = databaseListItem["ISBN"];
}
if (!(OriginalValues.Contains("UPCA")))
{
this.UPCA = databaseListItem["UPCA"];
}
}
}
Public Sub Resolve(ByVal mode As RefreshMode, ByVal originalListObject As Object, ByVal databaseListObject As Object)
Dim originalListItem As SPListItem = CType(originalListObject, SPListItem)
Dim databaseListItem As SPListItem = CType(databaseListObject, SPListItem)
If (mode = RefreshMode.OverwriteCurrentValues) OrElse ((mode = RefreshMode.KeepChanges) AndAlso (Me Is originalListItem)) Then
Me.ISBN = databaseListItem("ISBN")
Me.UPCA = databaseListItem("UPCA")
ElseIf mode = RefreshMode.KeepChanges Then
If Not(OriginalValues.Contains("ISBN")) Then
Me.ISBN = databaseListItem("ISBN")
End If
If Not(OriginalValues.Contains("UPCA")) Then
Me.UPCA = databaseListItem("UPCA")
End If
End If
End Sub
另请参阅
引用
Microsoft.SharePoint.Linq 命名空间