是否可以使用Microsoft Dynamics CRM 4.0中的FetchXml进行复合连接?

时间:2010-10-28 19:59:40

标签: dynamics-crm fetchxml

我正在使用FetchXml来查询CRM 4.0。我们有一个特殊情况需要在CRM entites之间进行复合连接。 FetchXml schema表示允许多个链接实体元素,并且还指示可以将多个过滤器/条件元素添加到链接实体。我面临的问题是条件元素的value属性似乎不允许实体/列名称。它期望明确声明的值。

例如,FetchXml允许您指定:

<link-entity name='myentity' from='column1' to='column2'/>

...这与T-SQL相当:

JOIN myentity on column1 = column2

它可以让你指定:

<link-entity name='myentity' from='column1' to='column2'>
   <filter type='and'>
      <condition attribute='column3' operator='eq' value='myvalue' />
   </filter>
</link>

...这是T-SQL的等价物:

JOIN myentity on column1 = column2 AND column3 = 'myvalue' 
但是,

FetchXml不会出现以下内容:

JOIN myentity on column1 = column2 AND column3 = column4 

注意区别。 FetchXml提供了连接中的条件,但它确实提供了一个复合连接,即跨多个列的连接。

在网络空间中有没有人能够使用CRM 4.0中的FetchXml执行复合连接?谢谢!

更多信息:

我正在寻找一个使用FetchXml来完成此任务的答案 - 而不是SQL或QueryExpression语法。上面的SQL只是为了解释这个概念。

1 个答案:

答案 0 :(得分:6)

不,它不允许这样做。当涉及到连接中的任何非基本内容时,获取XML非常有限。如果我很好奇,我通常会使用Stunnware Tools测试我的查询。如果它没有暴露在那里,它可能无法完成。

不幸的是,在这些情况下,我通常最终(被迫进入)采用多种查询方法解决问题。

我知道你说你对此并不感兴趣 - 但我很确定QueryExpression也不会处理它。根据我的经验,它只提供了fetchxml功能的一个子集。