是否可以在fetchxml中将标识符转换为字符串? 我有这个问题:
select *
from table1 t1 left outer join table2 t2
on t1.stringId=CAST( t2.id as varchar(40))
where t2.id is null and t1.childid is not null
此行t1.stringId=CAST( t2.id as varchar(40))
不能在fetchxml中制作字段" stringId"是字符串,但它的值是GUID
我希望有这种平等。
在fetchxml中:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" >
<entity name="table1 " >
<attribute name="stringid" />
<attribute name="te_name" />
<link-entity name="table1" from="id" to="stringid" link-type="outer" alias="s" />
<filter type="and" >
<condition entityname="s" attribute="stringid" operator="null" />
</filter>
</entity>
</fetch>
答案 0 :(得分:4)
我不知道我是否遗漏了某些内容,但在加入类型时,Dynamics CRM / 365非常宽容。 很可能将字符串字段连接到guid字段。 请参阅此示例,其中我在联系人的传真属性中放置了帐户的guid:
<fetch version='1.0' output-format='xml-platform' mapping='logical' >
<entity name='contact' >
<attribute name='fullname' />
<attribute name='fax' />
<attribute name='parentcustomerid' />
<filter type='and' >
<condition attribute='statecode' operator='eq' value='0' />
</filter>
<attribute name='contactid' />
<link-entity name='account' from='accountid' to='fax' link-type='outer' >
<attribute name='name' />
</link-entity>
</entity>
</fetch>
所以是的,你是正确的,无法进行投射,但你的例子中的查询仍然可以很好地执行,我猜这是所有目标。
答案 1 :(得分:1)
fetchxml中无法进行强制转换。 (我无法马上测试。)
链接实体加入关键GUID(主要和外键)上的2个实体,最好创建关系以维护数据库设计&amp;查询它们。
有趣的是,MSDN在模式中将Id称为字符串:
<!--
link-entity element - used for joining one entity to its "parent"
-->
<!-- [XDR-XSD] "link-entity" element -->
<xs:complexType name="FetchLinkEntityType">
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<!-- -->
<xs:element ref="all-attributes"
minOccurs="0" />
<xs:element name="attribute"
type="FetchAttributeType"
minOccurs="0"
maxOccurs="unbounded" />
<xs:element name="order"
type="FetchOrderType"
minOccurs="0"
maxOccurs="1" />
<xs:element ref="filter"
minOccurs="0" />
<xs:element name="link-entity"
type="FetchLinkEntityType" />
</xs:choice>
<!-- -->
<xs:attribute name="name"
use="required"
type="xs:string"></xs:attribute>
<xs:attribute name="to"
type="xs:string"></xs:attribute>
<xs:attribute name="from"
type="xs:string"></xs:attribute>
<xs:attribute name="alias"
type="xs:string"></xs:attribute>
<xs:attribute name="link-type"
type="xs:string"></xs:attribute>
<xs:attribute name="visible"
type="xs:boolean"></xs:attribute>
<xs:attribute name="intersect"
type="xs:boolean"></xs:attribute>
</xs:complexType>
更新
本地,fetchxml使用guid键加入(例如来自高级查找)。但似乎我们可以用任何字段覆盖from
和to
。它今天起作用,可能没有文档,因此不支持。