我有一个需要针对CRM执行的查询。它在SQL中等效于以下内容:
SELECT A.*, B.*
FROM Table1 A INNER JOIN Table2 B
ON A.ID = B.ID
我创建了一个查询并添加了一个linkentity,如下所示:
link.JoinOperator = JoinOperator.Inner;
link.LinkFromEntityName = EntityName.new_Table1.ToString();
link.LinkFromAttributeName = "new_Table1ID";
link.LinkToEntityName = EntityName.new_Table2.ToString();
link.LinkToAttributeName = "new_Table2ID";
query.LinkEntities = new LinkEntity[] { link };
但是,它只返回new_Table1中的列。
有没有办法以这种方式链接并返回两个实体的列,而不必创建两个查询?
答案 0 :(得分:2)
QueryExpression不支持此功能。您需要使用Fetch XML。
从SDK中的“使用FetchXML” - 你最终会得到类似的东西:
<fetch mapping='logical'>
<entity name='account'>
<attribute name='accountid'/>
<attribute name='name'/>
<link-entity name='systemuser' to='owninguser'>
<filter type='and'>
<condition attribute='lastname' operator='ne' value='Cannon' />
</filter>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
如果您还没有使用过FetchXML,我强烈建议您http://www.stunnware.com/?area=products&group=swtools4来构建和测试FetchXML。这样您就可以预览结果XML。
答案 1 :(得分:0)