我想进行高级搜索,将来自两个不同实体的字段组合在一起,这些实体彼此之间存在多对多关系。在 SQL 中它非常简单,但在 Dynamics 中我被卡住了。
我想得到一个一般性的答案,但如果它有帮助,这里是细节。任务是创建数据库中所有联系人的列表(列“名称”和“电子邮件”),但结合第三列,即相关联系人所属的营销列表的名称。当然,同一个人可能会被多次列出,但唯一性不是必需的(此外,每一行都会有一个相当于 PK 的联系人姓名和营销列表的组合)。
那可行吗?如果是这样,怎么做?
我想进行高级搜索,将来自两个不同实体的字段组合在一起,这些实体彼此之间存在多对多关系。在 SQL 中它非常简单,但在 Dynamics 中我被卡住了。
我想得到一个一般性的答案,但如果它有帮助,这里是细节。任务是创建数据库中所有联系人的列表(列“名称”和“电子邮件”),但结合第三列,即相关联系人所属的营销列表的名称。当然,同一个人可能会被多次列出,但唯一性不是必需的(此外,每一行都会有一个相当于 PK 的联系人姓名和营销列表的组合)。
那可行吗?如果是这样,怎么做?
首先,这是您的查询:
<fetch mapping='logical'>
<entity name='listmember'>
<link-entity name='list' from='listid' to='listid'>
<attribute name='listname'/>
</link-entity>
<link-entity name='contact' from='contactid' to='entityid'>
<attribute name='fullname'/>
<attribute name='emailaddress1'/>
</link-entity>
</entity>
</fetch>
示例结果:
<resultset morerecords='0' paging-cookie='<cookie page="1"><listmemberid last="{E1B03485-0000-0000-0000-00155D107003}" first="{A74C877A-0000-0000-0000-00155D107003}" /></cookie>'>
<result>
<listmemberid>{A74C877A-0000-0000-0000-00155D107003}</listmemberid>
<listid.listname>List 1</listid.listname>
<entityid.fullname>Amy Pickle</entityid.fullname>
<entityid.emailaddress1>apickle@domain.com</entityid.emailaddress1>
</result>
<result>
<listmemberid>{A94C877A-0000-0000-0000-00155D107003}</listmemberid>
<listid.listname>List 2</listid.listname>
<entityid.fullname>Andrew Colley</entityid.fullname>
<entityid.emailaddress1>colley@domain.com</entityid.emailaddress1>
</result>
</resultset>
不知道我能用一般的术语来描述这一点,但是:
listmember
必须是您返回的根实体link-entity
(在这种情况下,一个用于list
获取列表名称,另一个contact
用于获取联系人的详细信息attribute
s,因此它们每个都需要在您的link-entity
我从不用手做这些。以前我使用了 James Downey 的 FetchXML Builder,但我相信它不再可用 - Stunnware做了一个类似的工具。