【发布时间】:2012-06-25 16:51:21
【问题描述】:
我们的 CRM 2011 数据库包含大约。 20000 个联系人,我需要使用 SDK 遍历所有联系人。目前我发现以下 linq 查询需要很长时间才能执行:
Dim contactList = From c In orgService.ContactSet
Select New With {
Key .ContactId = c.ContactId,
Key .EMailAddress1 = c.EMailAddress1,
Key .ListIds = From l In c.listcontact_association Select l.ListId
}
如您所见,我只需要每个联系人的几个字段,以及相关营销列表 ID 的列表。也许它需要很长时间,因为它在每个联系人结果中执行额外的查询(以获取列表 ID)?
我对 Linq 还很陌生,所以不确定上述内容如何转化为实际的 FetchXML 通信。有没有更有效的方法来获取可以缩短查询运行时间的信息?
更多信息:我正在编写代码以将 CRM 数据库与 CreateSend 数据库同步。所以我确实需要检查所有联系人记录,不仅要添加到 CS 数据库,还要反映列表成员的变化,并在需要时更新每个联系人的活动或其他信息。同步过程最终将在 CRM 服务器本身上每晚运行,因此预计需要一些时间才能运行,但我当然希望使其尽可能高效。
【问题讨论】:
-
什么需要很长时间 - 获取所有联系人的查询,还是遍历所有 20,000 个联系人?
标签: vb.net linq dynamics-crm-2011