Partager via


ObjectChangeConflict.Resolve - Méthode (RefreshMode)

Résout les différences en assignant chaque champ et propriété, pour lequel il existe une différence, une valeur est rendue persistante dans la base de données lors du prochain appel de SubmitChanges.

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

Syntaxe

'Déclaration
Public Sub Resolve ( _
    refreshMode As RefreshMode _
)
'Utilisation
Dim instance As ObjectChangeConflict
Dim refreshMode As RefreshMode

instance.Resolve(refreshMode)
public void Resolve(
    RefreshMode refreshMode
)

Paramètres

Remarques

Cette surcharge de la méthode Resolve(RefreshMode) se comporte exactement comme Resolve(RefreshMode, Boolean) avec son paramètre autoResolveDeletes défini à true.

Exemples

L'exemple suivant montre comment les Resolve(RefreshMode) est utilisé dans un bloc de catch pour répondre à une ChangeConflictException:

foreach (TeamMember teamMember in teamSite.TeamMembers)
{
    teamMember.TopTask = "Fiscal Planning";
}

try 
{
    teamSite.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException e) 
{
    foreach (ObjectChangeConflict changedListItem in teamSite.ChangeConflicts)
    {
        // If another user has changed properties of a non-manager,
        // leave that other user’s changes, except for the TopTask field.
        if (((TeamMember)changedListItem.Object).IsManager = false)
        {        
             foreach (MemberChangeConflict changedField in changedListItem.MemberConflicts)
            {
                if (changedField.Member.Name == "TopTask")
                {
                    changedField.Resolve(RefreshMode.KeepCurrentValues);
                }
                else
                {
                    changedField.Resolve(RefreshMode.OverwriteCurrentValues);
                }
            }
        }
        // But if another user has changed properties of a manager, let this
        // process’s changes override the other user’s changes.
        else
        {
            changedListItem.Resolve(RefreshMode.KeepCurrentValues);
        }    
    }

    teamSite.SubmitChanges();
} // end catch

Voir aussi

Référence

ObjectChangeConflict classe

ObjectChangeConflict - Membres

Resolve - Surcharge

Microsoft.SharePoint.Linq - Espace de noms