我有一种情况需要两个SQL Compact版本数据库在C#4 Winforms应用程序中使用Microsoft Sync Framework相互同步,但我很难找到一种方法来实现这一点。
我在2层类型的场景中使用它很容易,SqlCeSyncProvider直接连接到服务器数据库,但我不确定如何通过WCF实现这一点。
我从Microsoft看到的示例基本上是委托给WCF服务中的SqlSyncProvider,但是SqlCeSyncProvider似乎没有公开与ServerSyncProviderProxy相同的方法。
我可以在服务中使用SqlCeClientSyncProvider(在此问题中引用:Using MS Sync Framework to synchronize two SQL CE Dbs),但SqlCeClientSyncProvider不公开GetSchema或GetServerInfo方法。我不知道我是否可以放心地忽略这些方法。
人们是刚刚通过网络公开SQLCe数据库并使用SqlCeSyncProvider还是我遗漏了一些让它起作用的东西?
答案 0 :(得分:3)
SqlCeClientSyncProvider / SyncAgent组合不支持SqlCe数据库之间的同步,除非你想编写自己的使用Sql Ce的DbServerSyncProvider。
使用SqlCeSyncProvider代替。
您可以在此处找到示例:Database Sync: SQL Server and SQL Compact N-Tier with WCF
只需修改它,以便两个端点都是Sql Ce