データベースサーバーに直接接続するのではなく、ローカルデータストアを持つようにアプリケーションを変更しています。クライアントアプリは、サーバーデータベースとそのローカルデータストアの間で変更を双方向で同期します。MicrosoftSyncFrameworkを使用して同期ソリューションを実装しようとしています。明確にするために、サーバーアプリケーションはなく、データベースサーバーのみがありますが、複数のクライアントがあります。
FullEnumerationSimpleSyncProviderを実装する2つのクラスの実装を開始しました。1つはLocalSyncProviderと呼ばれ、もう1つはServerSyncProviderと呼ばれます。LocalSyncProviderは、ローカルデータストアからアイテムを列挙、挿入、更新、削除する方法を知っており、ServerSyncProviderは、データベースサーバーからアイテムを列挙、挿入、更新、削除する方法を知っています。それぞれが提供されたSqlMetadataStoreを使用し、2つのメタデータストア(1つはローカル用、もう1つはサーバー用)をクライアントのローカルドライブに保存します。これは、各クライアントがローカルデータストア用に独自のメタデータストアを持ち、サーバーデータベース用に独自のメタデータストアを持つことを意味します。
これは実際に機能しますか、サーバーメタデータストアが1つだけ存在する必要がありますか、それとも同期フレームワークを別の方法で使用する必要がありますか?