Sunday, June 22, 2008

Sync for ADO.NET - Introduction

This is the first in a series of posts I plan on my experience with the Microsoft Sync Framework for ADO.NET.

First a little about the scenario for this, I'm creating a small app that must run on multiple machines, all talking to a central database (either via LAN or The Internet), supporting full off-line operation.

To make this a little more interesting I'm going to assume there's a mix of download-only tables (reference data) and full bi-directional sync tables (the stuff we'll be changing).

Clients will be running SQL CE 3.5 SP1, since that's the only choice we have (for now) with the Sync framework. Server will be running SQL 2005 SP2 (SP2 is required to fix an issue with @@DBTS, without it we could have missing data on clients). SQL 2008 would make it easier but it's still rare to find that out in the wild, and it's no big deal to change this to support that later.

For my test application it'll be a simple Time-sheet, here's the class diagram:

Timesheet_ClassDiagram

No comments: