0

我想使用预填充的 Sql CE 数据库部署应用程序。

步骤:
1) 在部署时:在 VS 2010 中使用 LocalDataCache 对象创建 sql ce 数据库并预先填充。压缩此数据库并将其放在服务器上。
2) 客户端:下载应用程序
3) 客户端应用程序:下载压缩的数据库并解压缩。
4)客户端应用程序:针对原始数据库对 WCF 服务进行同步,并且只拉下增量更改。

我已经完成了上述工作,直到第 4 步
。在第 4 步,wcf 服务正在返回数据库中的所有数据(即,它将我的本地数据库视为空的。我想这是因为锚点出来了的同步。

我想做的是在部署时重置锚点,以便服务器只返回部署和客户端下载和同步之间发生的更改。

有谁知道如何做到这一点?

谢谢 :)

4

3 回答 3

0

我认为最简单的方法是将同步数据库的逻辑隔离在一个单独的项目中,制作一个创建数据库的小型控制台应用程序,通过直接与主数据库同步来预填充它,压缩它并自动将它放在服务器上。然后,您可以手动或作为构建过程的一部分触发此控制台应用程序。

于 2012-06-26T07:32:03.120 回答
0

听起来您想做所谓的“快照初始化”。有关快照初始化的更多信息,请查看本文:http: //msdn.microsoft.com/en-us/library/gg294193.aspx

于 2012-06-26T14:51:57.533 回答
0

在第 1 步,假设您没有选择快照?快照不存储锚点。

如果你想玩转锚,你实际上可以在 SqlCeClientSyncProvider 的 GetTableReceivedAnchor() 和 SetTableReceivedAnchor() 中读/写它们

于 2012-06-27T10:54:11.627 回答