Partager via


ICustomMapping.Resolve - Méthode

Résout les différences dans les valeurs d'un ou plusieurs champs dans un élément de liste par rapport à sa valeur de client en cours, sa valeur en cours dans la base de données et sa valeur lorsque initialement extraites de la base de données.

Espace de noms :  Microsoft.SharePoint.Linq
Assembly :  Microsoft.SharePoint.Linq (dans Microsoft.SharePoint.Linq.dll)

Syntaxe

'Déclaration
Sub Resolve ( _
    mode As RefreshMode, _
    originalListItem As Object, _
    databaseListItem As Object _
)
'Utilisation
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
)

Paramètres

  • originalListItem
    Type : System.Object

    Un objet qui représente les valeurs de l'élément de liste lorsqu'il a été initialement extraites de la base de données de contenu par l'élément client et qui peut être casté en SPListItem.

  • databaseListItem
    Type : System.Object

    Un objet qui représente les valeurs actuelles de l'élément de liste dans l'article de la base de données et qui peut être casté en SPListItem.

Exemples

Le code suivant montre un exemple d'implémentation de Resolve(RefreshMode, Object, Object). Dans cet exemple, la liste de livres (dont le type de contenu est livre) a nommé ISBN et UPCAde nouvelles colonnes.

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

Voir aussi

Référence

ICustomMapping interface

ICustomMapping - Membres

Microsoft.SharePoint.Linq - Espace de noms

Autres ressources

Post-Deployment Extensions of a LINQ to SharePoint Solution