【发布时间】:2017-01-23 10:00:54
【问题描述】:
我需要定期(即每晚)将外部数据与 CRM 进行单向同步。
这包括创建新记录以及更新现有记录。
这意味着,我必须跟踪由我的同步过程创建的 CRM 实体的 ID。
强调文本我已经设法从数据库表行创建和更新 CRM 中的记录,所以这不是问题。
目前,我的映射表有以下列
-
id: 插入新行时设置的表主键 -
new_myentityid: 映射实体的Primary Attribute,在同步进程创建记录后设置 -
new_name等:记录属性的值
不过,我看到了一种大大简化整个过程的方法:
与其在数据库中拥有 PrimaryKey (id) 并在单独的列中跟踪 CRM ID (new_myentityid),不如去掉 id-columns 并制作 CRM -ID-Column (new_myentityid) 表的主键并在插入新记录时设置它 (newid()),所以从数据库的角度来看,基本上用new_myentityid 替换id。然后我可以通过ExecuteMultipleRequest 和UpsertRequest 进行批量更新。
这样,我将在每个映射表中保存一列,以及在创建 CRM ID 后存储它们的逻辑。
问题
这是可以接受的还是有什么可以让我避免这种情况?
【问题讨论】:
标签: c# dynamics-crm microsoft-dynamics xrm