Partager via


RefreshMode - Énumération

Spécifie la façon dont l'élément de liste modification du système de LINQ pour fournisseur SharePoint répondra lorsqu'elle détecte qu'un élément de liste a été modifié par un autre processus dans la mesure où il a été récupéré.

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

Syntaxe

'Déclaration
Public Enumeration RefreshMode
'Utilisation
Dim instance As RefreshMode
public enum RefreshMode

Membres

Nom du membre Description
KeepChanges Fusionnant des valeurs de base de données (autrement dit, accepter les modifications de tous les utilisateurs avec préjudice pour l'utilisateur actuel). Cela signifie :
lorsqu'elle est appliquée à un objet MemberChangeConflict: conservez la valeur de client actif si elle a été modifié depuis récupérées à l'origine ; dans le cas contraire rendre correspondent à la valeur actuelle de la base de données.
Lorsqu'elle est appliquée à un objet ObjectChangeConflict: conserver les nouvelles valeurs pour les champs dont la version actuelle a changé depuis l'extraction d'origine, même s'ils sont en conflit avec la version la plus récente de la base de données ; mais tous les autres champs doivent être modifiés selon vos besoins pour correspondre à la version la plus récente de la base de données.
KeepCurrentValues Écraser les valeurs de base de données (autrement dit, écraser les modifications de tous les autres utilisateurs). Cela signifie :
lorsqu'elle est appliquée à un objet MemberChangeConflict: conservez la valeur actuelle du client. (Ainsi, si elle a été modifié depuis initialement extraite conserver la nouvelle valeur ; sinon laissez-le au niveau de la valeur d'origine.)
Lorsqu'elle est appliquée à un objet ObjectChangeConflict: conserver les nouvelles valeurs pour les champs dont la version actuelle a changé depuis l'extraction d'origine, même s'ils sont en conflit avec la version la plus récente de la base de données ; mais tous les autres champs doivent rester tels qu'ils étaient lorsque récupérées à l'origine, même si ces valeurs ne correspondent plus à la version la plus récente de la base de données.
OverwriteCurrentValues En conservant les valeurs de base de données (autrement dit, céder absolue préjudice à la version de base de données). Cela signifie :
lorsqu'elle est appliquée à un objet MemberChangeConflict: correspond à la valeur actuelle de la base de données.
Lorsqu'elle est appliquée à un objet ObjectChangeConflict: rendre toutes les valeurs correspondent à la version la plus récente de la base de données.

Remarques

Une valeur de cette énumération est passée en tant que paramètre aux méthodes ObjectChangeConflict.Resolve(RefreshMode) ou MemberChangeConflict.Resolve(RefreshMode) . Ces méthodes sont appelées généralement dans un bloc de catch qui intercepte un ChangeConflictException. L'exception est levée par la méthode SubmitChanges() si elle détecte que l'élément de liste en cours de modification a déjà été modifiée dans la mesure où elle a été initialement renvoyée par une requête LINQ.

L'énumération indique les méthodes ObjectChangeConflict.Resolve(RefreshMode) et MemberChangeConflict.Resolve(RefreshMode) pour répondre aux différences entre les trois versions de l'élément de liste :

  • La version extraite à l'origine de la base de données de contenu.

  • La version maintenant dans la base de données.

  • La version du processus en cours (parfois appelée la version du client, bien que le « client » désigne le serveur Web frontal) qui a été envoyé par l'appel à SubmitChanges().

Notes

Il n'existe aucune option permettant d'annuler toutes les modifications, même ceux de l'utilisateur actuel ; mais vous pouvez effectuer cette opération en appelant Resolve(Object) et en lui transmettant OriginalValue en tant que paramètre. Pour appliquer cette règle à un ObjectChangeConflict, itérez sur sa propriété MemberConflictsResolve(Object) d'appel pour chaque membre.

Le tableau suivant répertorie les rubriques qui décrivent l'énumération System.Data.Linq.RefreshMode de LINQ pour le fournisseur SQL. Toutefois, la logique qu'ils décrivent s'applique à l'énumération Microsoft.SharePoint.Linq.RefreshMode de LINQ to SharePoint tout aussi bien.

Procédure : résoudre les conflits d'accès concurrentiel en fusionnant des valeurs de base de données (LINQ to SQL)

Procédure : résoudre les conflits d'accès concurrentiel en conservant les valeurs de base de données (LINQ to SQL)

Procédure : résoudre les conflits d'accès concurrentiel en remplaçant les valeurs de base de données (LINQ to SQL)

Voir aussi

Référence

Microsoft.SharePoint.Linq - Espace de noms