Estoy usando FetchXml para consultar CRM 4.0. Tenemos un caso especial que requerirá una unión compuesta entre entidades de CRM. El FetchXml schema indica que se permiten múltiples elementos de entidad de enlace, y también indica que se pueden agregar múltiples elementos de filtro/condición a una entidad de enlace. El problema que estoy enfrentando es que el atributo de valor del elemento de condición no parece permitir un nombre de entidad/columna. Espera un valor explícitamente declarado.¿Son posibles las combinaciones compuestas utilizando FetchXml en Microsoft Dynamics CRM 4.0?
Por ejemplo, FetchXml le permite especificar lo siguiente:
<link-entity name='myentity' from='column1' to='column2'/>
... lo que hace el T-SQL equivalente a esto:
JOIN myentity on column1 = column2
Y le permite especificar lo siguiente:
<link-entity name='myentity' from='column1' to='column2'>
<filter type='and'>
<condition attribute='column3' operator='eq' value='myvalue' />
</filter>
</link>
... que es el equivalente de T-SQL de esto:
JOIN myentity on column1 = column2 AND column3 = 'myvalue'
FetchXml no aparece, sin embargo, para proporcionar un equivalente a esto:
JOIN myentity on column1 = column2 AND column3 = column4
nota la diferencia. FetchXml proporciona condiciones en la combinación, pero parece proporcionar una combinación compuesta, es decir, una combinación en varias columnas.
¿Alguien en el ciberespacio ha podido realizar una unión compuesta usando FetchXml en CRM 4.0? ¡Gracias!
Más información:
estoy cazando una respuesta que utiliza FetchXml de lograr esto - no SQL o la sintaxis QueryExpression. El SQL de arriba está ahí solo para explicar el concepto.
De acuerdo. Después de publicar esta pregunta, terminé experimentando con múltiples consultas ... y usando LINQ para combinar los dos conjuntos de resultados en lo que necesito. ¡Afortunadamente LINQ * does * admite combinaciones en múltiples columnas! La solución LINQ es limpia y legible. – WiregrassCoder
Oh sí? ¿Eso fue utilizando las nuevas extensiones de desarrollador avanzado (Microsoft.Xrm.Client.sdk) y las clases generadas con CrmSvcUtil.exe? Desafortunadamente, nuestra solución tiene demasiadas entidades/relaciones personalizadas (algo) y todavía no he podido cambiar a esto (tiempos de espera). Supuestamente le permitirán establecer el tiempo de espera en el futuro. –