FetchXML包含来自多对多关系的数据

时间:2012-09-28 07:35:22

标签: dynamics-crm

我的解决方案有一个严重的缺点,即它会对CRM进行大量小调用。相反,我想制作一个(或至少只有几个),而是允许冗余。

我想获取包含任何营销列表中所有联系人以及这些列表名称的信息。人们还可以将其视为列出所有营销列表及其成员。如果联系人在多个营销列表中表示,我希望它多次列出,列表中的每个成员一次。

为了避免冗余,我问了另一个问题here,但我理解这是不可能的。完美的输出数据将等同于此。

<allLists>
  <list name="hazaa">
    <contact name="Donald Duck" />
    <contact name="Speedy Gonzalez" />
  </list>
  <list name="shazoo">
    <contact name="Donald Duck" />
    <contact name="Kermit Frog" />
  </list>
<allLists>

显然,通过fetchXML获取它并不像人们希望的那么容易,所以我要退休接受以下冗余数据集。

<contact name="Donald Duck" list="hazaa" />
<contact name="Speedy Gonzalez" list="hazaa" />
<contact name="Donald Duck" list="shazoo" />
<contact name="Kermit Frog" list="shazoo" />

但是,我还没有看到如何到达那里。我试图使用The FetchXML向导,但是一个邪恶的404错误让这个想法停止了(谁知道,也许它无论如何都没有帮助,哈哈)。建议?

我担心所有我得到的都是here的链接,告诉我忘记它。是真的吗?

1 个答案:

答案 0 :(得分:1)

首先,最后一个链接Can you write a single FetchXML query to get 1:many relationship?似乎没有得到正确回答。我已经添加了我认为是正确答案的内容。

在使用stunnware的FetchXml向导方面,看起来作者处于移动站点之间。您仍然可以通过以下链接获取工具:http://www.stunnware.com/products/tools4/download.htm(谷歌救援)。

我建议使用它,我相信它会帮助你在创建FetchXml方面取得很大进展。

就结果集中的“数据冗余”而言,我认为您无法避免这种情况(或实际需要)。

有效地,您正在运行SQL查询,带有连接的SQL查询也会返回“冗余数据”或重复数据。我认为您只需要接受数据的返回方式并将其解析为您需要的格式。

所以说这让我想到了第二点,那就是;你考虑过动态列表吗?

crm中的营销列表可以是静态的也可以是动态的。静态是一个记录与另一个记录关联的简单情况 - 易于查询。 Dynamic基于查询(在UI中定义,实际上是FetchXml)。我的观点是,我不确定你的FetchXml查询是否会检索这些动态成员 - (我怀疑它不会,但我不确定,从未尝试过我自己)。

所以,我不认为FetchXml是解决这个问题的正确方法,幸运的是还有其他选择 - 实际上在任何情况下都更容易实现。我建议您查看下面的链接,以确保您正在实施正确的解决方案。

  1. Retrieving Marketing List Members in CRM 2011 - 静态和动态之间的区别
  2. Where are the List Members of a Dynamic Marketing List ? - 获取动态成员
  3. Retrieve Marketing List Members - 获取静态成员