当前位置:  开发笔记 > 编程语言 > 正文

可以在CRM之外生成实体的ID吗?

如何解决《可以在CRM之外生成实体的ID吗?》经验,为你挑选了1个好方法。

我需要定期(即每晚)与CRM单向同步外部数据.

这包括创建新记录以及更新现有记录.

这意味着,我必须跟踪由同步过程创建的CRM实体的ID.

强调textI我已经设法从数据库表行创建和更新CRM中的记录,所以这不是问题.

目前,我的映射表具有以下列

id:插入新行时表的主键设置

new_myentityid:映射实体的主要属性,在同步过程创建记录之后设置

new_name etc:记录属性的值

但是,我认为有一种方法可以大大简化整个过程:

我没有id在数据库中拥有一个PrimaryKey()并new_myentityid在一个单独的列中跟踪CRM ID(),我还可以摆脱id-columns并制作表的CRM-ID-Column(new_myentityid)主键,插入新记录(当将其设置newid()),所以基本上代替idnew_myentityid从数据库的角度.然后我可以通过ExecuteMultipleRequest组合来批量upsert UpsertRequest.

这样,我会在每个映射表中保存一列,以及在创建它们之后存储CRM ID的逻辑.

这是可以接受的还是有什么东西可以让我避免这种情况?



1> Equalsk..:

免责声明:我不知道这方面的最佳实践,所以这只是我个人对于为Dynamics多次开发的问题的看法.

我认为使用CRM实体GUID作为主键是一个好主意.它不那么复杂,在SQL中处理得很好.我假设你的数据库中的列是uniqueidentifier.

我唯一的评论是不自己生成GUID.让CRM为您生成它们,因为它可以更好地保持所有顺序和索引.

有关更多详细信息,请参阅MSDN上的此博客条目

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有