2010-08-09 15 views
0

Des questions similaires ont déjà été posées mais après une journée passée à passer les réponses, je suis toujours très confus. J'utilise Microsoft Sync Framework avec SQL2008 sur le serveur et SQL CE sur les appareils Windows Mobile. J'aurais pensé que c'était une exigence très commune. Je ne veux pas répliquer de grandes tables sur l'appareil mobile. Je veux seulement les disques qui sont nécessaires. Par exemple, chaque utilisateur aura besoin de ses "jobs" hors de la table des jobs. Ils n'ont pas besoin des travaux d'autres utilisateurs. Donc je besoin de quelque chose comme « où JOBID = 3 » pour un appareil et « où JOBID = 4 » pour une autre, etc.Limiter les enregistrements synchronisés avec l'appareil mobile

Ce semblait prometteur: http://jtabadero.spaces.live.com/blog/cns!BF49A449953D0591!1203.entry

, mais malheureusement, il ne fonctionne pas avec mon code. Ce code de l'échantillon semble essayer d'obtenir le code qui contient le SQL:

var remoteProvider = (LocalDataCache1ServerSyncProvider)syncAgent.RemoteProvider; 

var selectIncrementalInsertsCommand = remoteProvider.SalesLT_CustomerSyncAdapter.SelectIncrementalInsertsCommand; 

mais le code contenant le SQL (généré par VS) est sur le côté serveur et seule une procuration est disponible dans le code client. Voici comment le proxy est ajouté:

// The WCF Service 
var webSvcProxy = new MicronetCacheSyncService(); 

// The Remote Server Provider Proxy 
var serverProvider = new ServerSyncProviderProxy(webSvcProxy); 

// The Sync Agent 
var syncAgent = new MicronetCacheSyncAgent(); 
syncAgent.RemoteProvider = serverProvider; 

Alors, comment puis-je obtenir le code côté serveur qui contient le sql du côté client? Désolé je ne suis pas en train d'expliquer cela très bien, mais je suppose qu'il est peu probable que quelqu'un ait une réponse. La version courte est-ce que quelqu'un connaît un moyen SIMPLE de limiter les enregistrements qui sont synchronisés à un appareil mobile est ce type d'application? Je pense que l'exemple était destiné aux applications de bureau.

Il me semble que ce cadre de synchronisation est une autre des versions semi-cuites de Microsoft qui est vraiment juste une version bêta. Ça commence à me rappeler quelques expériences horribles précédentes avec Entity Framework 1.0 :(

Répondre

0

Le tutoriel à http://msdn.microsoft.com/en-us/library/dd918848%28SQL.105%29.aspx contient tout ce que vous devez fournir le filtrage pour un champ d'application.

Pour votre information, ce tutoriel est pour Sync Framework 2.0, alors que à partir de votre code ci-dessus, il semble que vous utilisez Sync Framework 1.0 - un produit hérité