Dynamics crm 在Microsoft Dynamics CRM 4.0中是否可以使用FetchXml进行复合联接?

Dynamics crm 在Microsoft Dynamics CRM 4.0中是否可以使用FetchXml进行复合联接?,dynamics-crm,fetchxml,Dynamics Crm,Fetchxml,我正在使用FetchXml查询CRM 4.0。我们有一个特殊情况,需要CRM实体之间的复合联接。指示允许多个链接实体元素,还指示可以向链接实体添加多个筛选器/条件元素。我面临的问题是condition元素的value属性似乎不允许使用实体/列名。它需要一个显式声明的值 例如,FetchXml允许您指定以下内容: <link-entity name='myentity' from='column1' to='column2'/> <link-entity name='myent

我正在使用FetchXml查询CRM 4.0。我们有一个特殊情况,需要CRM实体之间的复合联接。指示允许多个链接实体元素,还指示可以向链接实体添加多个筛选器/条件元素。我面临的问题是condition元素的value属性似乎不允许使用实体/列名。它需要一个显式声明的值

例如,FetchXml允许您指定以下内容:

<link-entity name='myentity' from='column1' to='column2'/>
<link-entity name='myentity' from='column1' to='column2'>
   <filter type='and'>
      <condition attribute='column3' operator='eq' value='myvalue' />
   </filter>
</link>
它允许您指定以下内容:

<link-entity name='myentity' from='column1' to='column2'/>
<link-entity name='myentity' from='column1' to='column2'>
   <filter type='and'>
      <condition attribute='column3' operator='eq' value='myvalue' />
   </filter>
</link>
但是,FetchXml并没有提供与此等效的功能:

JOIN myentity on column1 = column2
JOIN myentity on column1 = column2 AND column3 = 'myvalue' 
JOIN myentity on column1 = column2 AND column3 = column4 
注意区别。FetchXml在连接中提供了条件,但它似乎提供了复合连接,即跨多个列的连接

网络空间中是否有人能够在CRM 4.0中使用FetchXml执行复合联接?谢谢

更多信息:


我正在寻找一个使用FetchXml来实现这一点的答案,而不是SQL或QueryExpression语法。上面的SQL只是为了解释这个概念。

不,它不允许这样做。当涉及到连接中的任何非基本内容时,获取XML是非常有限的。如果我好奇的话,我通常使用。如果它没有暴露在那里,它可能就无法做到

不幸的是,在这种情况下,我通常会(被迫)采用多查询方法来解决问题


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

同意。在我发布这个问题后,我最终尝试了多个查询。。。使用LINQ将两个结果集组合成我需要的结果集。幸运的是,LINQ确实支持跨多个列的连接!LINQ解决方案干净易读。哦,是吗?是否使用了新的高级开发人员扩展(Microsoft.Xrm.Client.sdk)和用CrmSvcUtil.exe生成的类?不幸的是,我们的解决方案有太多的自定义实体/关系(某些东西),我还不能切换到这个(超时)。据推测,他们将允许您在将来设置超时。