Link 到相同 Table / 实体的 CRM QueryExpression

CRM QueryExpression with Link to Same Table / Entity

我正在尝试使用 QueryExpression 和 LinkEntity 在 CRM 中执行以下 SQL 等效查询。有任何想法吗?我很困惑。我以前使用过 LinkEntity,但不确定如何引用或别名相同的实体类型。

select t1.UoMId, t1.BaseUoM, t1.UoMScheduleId, t1.Name, t1.Quantity
from UoMBase t1
inner join UoMBase t2 on t1.UoMScheduleId = t2.UoMScheduleId
where t2.UoMId = '57E59AB7-AC8F-E511-80F0-005056BE36DF';

这将产生以下实体记录:

尝试将以下内容转换为 QueryExpression:

<fetch mapping="logical" version="1.0">
  <entity name="UoM">
    <attribute name="UoMId" />
    <attribute name="BaseUoM" />
    <attribute name="UoMScheduleId" />
    <attribute name="Name" />
    <attribute name="Quantity" />
    <link-entity name="UoM" from="UoMScheduleId" to="UoMScheduleId" alias="t2" link-type="inner">
    <filter>
      <condition attribute="UoMId" operator="eq" value="57E59AB7-AC8F-E511-80F0-005056BE36DF" />
    </filter>
    </link-entity>
  </entity>
</fetch>

QueryExpression query = new QueryExpression("uom");
query.ColumnSet = new ColumnSet(new[] { "uomid", "baseuom", "uomscheduleid", "name", "quantity", });
query.LinkEntities.Add(new LinkEntity("uom", "uom", "uomscheduleid", "uomscheduleid", JoinOperator.Inner) { EntityAlias = "t2" });
query.Criteria.AddCondition("t2", "uomid", ConditionOperator.Equal, guidID);
EntityCollection result   = OrganizationService.RetrieveMultiple(query);