Utilisation des schémas de table dans la base de données client
Notes
Les informations suivantes sont fournies à titre de référence pour les applications existantes qui ne prennent en charge que les scénarios hors connexion. Pour le développement de nouvelles applications, consultez Architecture et classes pour la synchronisation de base de données.
Cette rubrique décrit plusieurs méthodes d'utilisation possibles des schémas de table qui sont créés dans les bases de données clients.
Synchronisation client et serveur
Lors de la session de synchronisation initiale d'un client, Sync Framework crée des tables dans la base de données client. Pour plus d'informations, consultez Procédure : initialiser la base de données client et travailler avec un schéma de table. Une fois ces tables créées, certaines modifications de schéma sont autorisées.
Sync Framework ne propage pas automatiquement les modifications de schéma du serveur au client. Pour plus d'informations sur la gestion des modifications de schéma sur le serveur, consultez Déploiement et contrôle de version d'applications. Les modifications de schéma suivantes sont prises en charge dans la base de données client :
Suppression de tables. Le comportement lors de la synchronisation suivante dépend de la valeur que vous avez spécifiée pour la propriété CreationOption. Si vous ne voulez pas disposer de la table sur le client, supprimez-la de l'objet SyncTableCollection. Lorsque vous supprimez une table dans laquelle le suivi des modifications est activé, vous supprimez également la table système qui assure le suivi des opérations de suppression de cette table. Par conséquent, les opérations de suppression opérées depuis la dernière synchronisation ne sont pas téléchargées sur le serveur.
Ajout de nouvelles colonnes.
Suppression de colonnes des tables qui participent à la synchronisation par instantané. Cette modification n'est pas prise en charge pour les autres types de synchronisation.
Ajout et suppression d'index, et attribution d'un nouveau nom aux index.
Ajout et suppression de clés primaires et d'autres contraintes, et attribution d'un nouveau nom.
Modification des paramètres par défaut.
Toutes les autres modifications ne sont pas prises en charge et peuvent entraîner des échecs de synchronisation.
Dans certaines applications, le schéma est différent sur le client et sur le serveur. Les points suivants récapitulent le comportement d'une table et du dataset ADO.NET que Sync Framework utilise pour mettre à jour cette table sur le client :
Si le dataset contient Column1 et Column2, et que la table contient Column1, Column2 et Column3 : les valeurs de Column1 et Column2 sont appliquées, et la valeur de Column3 est sa valeur par défaut ou Null si la colonne ne comporte pas de valeur par défaut.
Si le dataset contient Column1, Column2 et Column3, et que la table contient Column1 et Column2 : les valeurs de Column1 et Column2 sont appliquées, et Column3 est ignorée.
Si le dataset contient Column1, Column2 et Column3, et que la table contient Column1, Column2 et Column4 : les valeurs de Column1 et Column2 sont appliquées ; la valeur de Column3 est sa valeur par défaut ou Null si la colonne ne comporte pas de valeur par défaut et Column4 est ignorée.