7

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

例如,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 只是为了解释这个概念。

4

1 回答 1

6

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

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

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

于 2010-11-01T21:00:22.933 回答