gpt4 book ai didi

c# - 当表使用标识列并且您需要匹配任意键时,如何使用 ms 同步框架同步数据库

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:48 25 4
gpt4 key购买 nike

抱歉,标题又长又乱。

我有一个客户想要同步三个数据库。 (以后可能会更多。)所有三个数据库中的所有数据都必须与所有其他数据库同步。这根本不需要是实时的,但可能会每晚运行或类似的运行。

此数据库使用标识列作为主键/外键。

问题是给定的记录可以独立地添加到两个(或更多)数据库中,但却是相同的数据。因此,例如,我可以在两个站点数据库中创建一个名为 John Smith of 123 Main Street 的客户。在这种情况下,我希望 FirstName LastName 和地址的前 8 个字符(或者可能是电话号码)形成用于合并记录的“匹配键”,而不是每次都添加新的记录。换句话说,在所有同步完成后,我希望所有 3 个数据库都只有 John SMith 在 123 Main Street 的一条记录。

顺便说一下,我当时考虑的方法是在云中托管一个“主”数据库。所有三个数据库都会对这个主数据库进行双向同步。

我的主要问题是如何让它发挥作用?如何为数据库中的表定义“匹配键”。是否像在匹配键上创建唯一约束一样简单?有没有办法在不更改数据库模式的情况下做到这一点? (我愿意考虑这一点,但我的数据库是第 3 方,可能会发生变化。)

赛斯

最佳答案

如果您可以添加一个额外的列,请根据您在上面指定的“匹配键”创建一个新列。然后配置同步框架以将该列用作 PK 并忽略表中的实际 PK。

方法应该类似于这篇文章:

Part 3 – Synchronizing tables where Client and Server Primary Keys are different

关于c# - 当表使用标识列并且您需要匹配任意键时,如何使用 ms 同步框架同步数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com