从Microsoft Dynamics CRM中的自定义实体中删除重复项

时间:2010-08-02 18:55:55

标签: dynamics-crm dynamics-crm-4

有没有人找到合并或删除自定义实体中重复项的好方法?在我们的例子中,我们有两个自定义实体,文献历史和订阅,它们将联系人关联回一个名为文学的自定义实体。

我可以运行重复的检测作业,但这会返回数千条记录并且一次删除一条记录最多也是不切实际的。我们希望能够合并它们或只删除重复项。然而,除了“你可以写点东西”之外,谷歌搜索还没有找到任何好的建议。

好的,但哪里开始?我是否应该从重复检测作业中批量删除?我应该尝试用SDK编写一个快速而脏的c#程序吗?有没有办法合并自定义实体,只需要一些神奇的工作流程voodoo?

编辑:仅供参考我最终做的是使用一些有趣的SQL设置删除状态代码以快速查找重复项:

UPDATE T1 SET DeletionStateCode = 2 
FROM New_subscriptionhistory T1 INNER JOIN New_subscriptionhistory T2 ON t1.New_LiteratureId = T2.New_LiteratureId AND t1.New_ContactId = t2.New_ContactId
AND t1.CreatedOn > t2.CreatedOn AND t1.statecode = 0 AND t2.statecode = 0

2 个答案:

答案 0 :(得分:2)

您应该考虑使用SDK创建批量删除作业。

Here's a short tutorial.

答案 1 :(得分:1)

我不会肯定地说这是唯一或最好的方法,但是我们在_MSCRM数据库中使用了SQL查询,将任何重复实体的DeletionStateCode设置为2.