MS Sync 2.1使用外键同步表

时间:2011-11-21 14:39:41

标签: .net sync microsoft-sync-framework

是否可以在同步范围内拥有2个与外键关联的表。

我在_tracking table: Column 'TransactionLineNo' is constrained to be unique. Value '582da05c-2341-4c57-9795-b532ee0e596f' is already present.

收到一条奇怪的讯息

TransactionLineNo是我的表中的主键(TransactionLine),并且具有Transaction表的外键,该表添加在同一范围内。
我正在使用MS Sync 2.1 安吉拉

1 个答案:

答案 0 :(得分:1)

重要的是,您的SyncAdapter将按照祖父母,父母,孩子等的顺序定义并添加到SyncProvider的适配器集合中,或者您可以获得类似于您所看到的行为。确保在TransactionLine之前将Transaction的适配器添加到服务器的SyncProvider。

过去,我使用INFORMATION_SCHEMA编写了一个SQL存储过程来查询并以编程方式确定构建适配器的顺序,到目前为止,这对我们来说已经很好了(这里有关于INFORMATION_SCHEMA的MSDN,{{3 }})。

此外,如果您正在调试部分完成的应用程序并通过同步添加值并直接添加到数据库中,则可能会使客户端和服务器上使用的同步锚不同步,并且在某些情况下可以解决此错误只需删除并重新创建客户端数据库。