考虑 2 个表,Employee 和 Location。
员工
EmpId 名称 LocationId xxx XYZ 年年 xxx ABC zzz
地点
LocationId 位置 印度 xxx 美国
EmpId 和 LocationId 是 type 的主键列uniqueidentifier
。Employee表中的LocationId是外键,指的是Location表。此外,假设 Location 表中的 location 列存在唯一约束。
第 1 步:在客户端和服务器之间进行同步。数据现已更新。
第 2 步:在服务器和客户端的位置表中添加一个新行,其值为“France”。此外,在员工表中添加引用此新行的新行。
第三步:同步。由于违反了唯一约束,它将失败。'France' 行存在于具有不同主键的客户端和服务器中,并且当 Sync 框架尝试插入新行时,唯一约束阻止它,并且同步失败。
我需要通过将客户端 locationid 更新为冲突行的服务器 locationid 来解决这个问题。我试图编写代码来更新它dbapplychangefailed
,但是,同步框架锁定了冲突的行,我无法访问它。
非主键列的唯一性约束是我的主要问题,如果我能找到解决该问题的方法,我可以在这种情况下实现它。
请指教。提前致谢。