Hello:
PREAMBLE: It appears that my last post got never got posted for some reason: apologies if it pops back up somwhere and this ends up being a double-post. That out of the way, I'd love some advice on the following:
The 101 samples of a Custom Standard Provider demonstrate synching a single List/Table of data, and I havn't been able to determine from them how best to scale that up to a more complex problem -- such as performing a Filtered sync of a Graph containing Vertices/Cities, and Routes/Edges (eg: for a travel agent offering package weekend excursions).
As an example, if 1000 Vertices/cities have been added to the server lately, and I want to sync to a PocketPC all the Cities/Vertices that have a Rating=3 stars, I will then have to also sync all the Routes/Edges leading out from these cities, as well as all the towns/cities that these edges/routes terminate at, whether they are rated as 3star cities, or not. All of these parts --origin vertices, edges, destination edges -- have to be synced as one unit of work (edges pointing to none existent vertices would be rather useless).
I didn't see anything like a Transaction unit, so I'm a little confused as to how to proceed.
Nor did I see a way of taking the values from the first sync step (the id's of the vertices) to use as a filter for the second step (finding the Edges touching these edges)..and then using the data from the second step to find the final edges...
Alternately, I'm wondering if I have to think of it not as a transacted sync of various providers, but as as syncing one single object, containing Vertex+EdgeArray....
I'm hoping this is not the case, as that would be problematic, as I omitted to mention that there are other tables involved (eg: VertexAttributes, EdgeAttributes, etc. as well as other tables containing brochure info, etc.) at which point the object would get quite Huge, and probably contain redudent/resent info ...)
Any and all advice on how to break this problem down into logical steps would be greatly appreciated.
Sky