Procédure : activer les contrôles d'accès concurrentiel optimiste
Cette rubrique décrit différentes manières d'appliquer les contrôles RoundtripOriginalAttribute sur des entités ou des propriétés d'entité dans Services RIA WCF afin d'activer le contrôle de l'accès concurrentiel optimiste sur ces entités ou types. Pour obtenir des informations de contexte sur cette procédure, consultez Gestion de l'accès concurrentiel aux données.
La procédure décrite dans cette rubrique suppose la création au préalable d'une application Services RIA . Les procédures permettant de le faire peuvent être suivies dans la rubrique Procédure pas à pas : Création d'une solution de Services RIA.
Appliquez RoundtripOriginalAttribute sur les classes de métadonnées
Ouvrez le fichier .metadata.cs associé au service de domaine.
Appliquez RoundtripOriginalAttribute aux propriétés dont les valeurs doivent être contrôlées lors de la soumission des modifications au magasin de données, ou à une classe entière si vous souhaitez contrôler les valeurs de l'ensemble des propriétés contenues dans la classe lors de la soumission des modifications.
Générez (Ctrl+Maj+B) l'application.
Cliquez sur l'icône Afficher tous les fichiers dans l'Explorateur de solutions pour afficher le dossier Generated_code dans le projet client et ouvrir le fichier .Web.g.cs.
Localisez les propriétés et les classes auxquelles vous avez appliqué RoundtripOriginalAttribute et vérifiez que l'attribut a été généré correctement.
Notez que les propriétés marquées à l'aide de KeyAttribute dans les métadonnées ont également leurs propriétés clientes correspondantes marquées avec RoundtripOriginalAttribute.
Utilisation du concepteur pour spécifier un accès concurrentiel optimiste
Ouvrez le concepteur et sélectionnez une propriété dans l'une des classes d'entités dont vous souhaitez contrôler la valeur lors de la soumission des modifications dans la base de données.
Accédez à la fenêtre Propriétés et changez la valeur de ConcurrencyMode définie sur Aucun par Corrigé dans la fenêtre déroulante.
Générez (Ctrl+Maj+B) l'application.
Localisez les propriétés qui présentent le nouveau mode d'accès concurrentiel et vérifiez que RoundtripOriginalAttribute leur a été appliqué. Notez que ConcurrencyCheckAttribute leur a également été appliqué.
Revenez à la fenêtre Propriétés et notez qu'un StoreGeneratedPattern est également défini sur Identité pour les entités de clé. Ce signifie que leurs valeurs seront supposées être inchangées lors de la soumission des modifications pour leurs entités et que la valeur du serveur de données sera utilisée.