我正在尝试使用设计同步应用程序来同步不同SQL Server数据库之间的更改。
我想出了一个基于接收ItemConflicting事件的设计,存储与冲突相关的知识,并离线解决所有冲突。
但是,我似乎只能触发ApplyChangeFailed事件。有没有什么理由为什么SqlSyncProvider不使用ItemConflicting事件?我只是错误地接触了这个事件吗?
我关心的原因是ItemConlficting事件允许我简单地记录冲突并继续使用ApplychangeFailed事件无法实现的其他同步。
答案 0 :(得分:0)
简单地引发ApplyChangeFailed以指示冲突或错误,无论您是通过解析或指定哪一行应该获胜还是忽略它来解决冲突,您都应该能够继续进行同步过程。
通过存储“知识”不确定您的意思,您指的是同步知识还是指的是冲突的行?
ApplyChangeFailed事件参数具有访问冲突行的属性,如果这是您需要的。然后,您可以拦截冲突行,然后将ApplyAction设置为continue或RetryNextSync