0

J'ai une application qui utilise LocalDataCache pour synchroniser une base de données SQL Server 2008 Express vers une base de données client (fichier .sdf). Cela fonctionne très bien et je gère maintenant les conflits.Sync Framework Handling ClientInsert ServerInsert Conflict

J'utilise cette ressource Microsoft comme guide: How to: Handle Data Conflicts and Errors

Le conflit Je suis particulièrement intéressé par est ConflictType.ClientInsertServerInsert.

Je voudrais insérer les deux lignes en conflit sur le client ET le serveur et je me demande s'il existe une méthode interne à SyncFramework pour faire cela?

Sinon, ma solution est la suivante:

0 - Set e.Action = ApplyAction.Continue (pas de changement).

1 - Enregistrer le conflit client (id, tablename) dans un tableau.

2 - Enregistrer le conflit de serveur (id, tablename) dans un tableau.

3 - Pour chaque élément du tableau de conflit client, insérer dans le serveur

4 - Pour chaque élément du tableau de conflit du serveur, insérer dans le client

Je me demande si le SyncFramework peut le faire pour moi comme il semble faire tout le reste pour moi?

J'attends vos réponses avec impatience. Merci

Répondre

0

J'ai résolu ce problème maintenant en utilisant un GUID pour un PK au lieu d'un int auto-incrémentant. Cela garantit que chaque ligne insérée par le serveur ou un client sera unique. Je sais qu'il y a des inconvénients tels que l'espace de stockage supplémentaire et le temps de recherche, mais c'est quelque chose que je suis prêt à vivre (et je vais filtrer les données que le client obtient, ce qui aidera à améliorer les performances).

Questions connexes