Dynamics CRM - SQL 查询以获取查找相关的实体
Dynamics CRM - SQL query to get entity that lookup relates to
在 CRM 数据库中,我在哪里可以找到与查找字段相关的实体的名称?
例如,我有一个包含两个查找字段的 Account
实体;
- Account Contact,指向
Contact
实体
- 租赁设备,指向
Equipment
实体
如何获取每个字段相关的实体的名称?
我希望在 MetadataSchema.AttributeLookupValue
table 中看到这个,但这似乎不是正确的地方。
理想情况下,我想为这些信息编写一个查询。大致如下:
SELECT
AttributeName,
AttributeTypeName,
ReferencedEntityName
FROM
unknown.TableName
WHERE
AttributeName IN ('new_AccountContact', 'new_LeasedEquipment')
-- Results:
-- AttributeName | AttributeTypeName | ReferencedEntityName
-- new_AccountContact | lookup | Contact
-- new_LeasedEquipment | lookup | Equipment
任何试图实现这一目标的帮助将不胜感激,谢谢。
下面的查询 returns 主要实体、查找字段名称和查找字段的目标实体类型。
SELECT e.Name 'primary entity' , a.LogicalName 'lookup field in primary entity' , a.ReferencedEntityObjectTypeCode , e2.LogicalName as 'target entity of the lookup field'
FROM MetadataSchema.Attribute a inner join MetadataSchema.Entity e on a.EntityId = e.EntityId
inner join MetadataSchema.Entity e2 on a.ReferencedEntityObjectTypeCode=e2.ObjectTypeCode
WHERE ReferencedEntityObjectTypeCode <>0
AND e.name='account'
在 CRM 数据库中,我在哪里可以找到与查找字段相关的实体的名称?
例如,我有一个包含两个查找字段的 Account
实体;
- Account Contact,指向
Contact
实体 - 租赁设备,指向
Equipment
实体
如何获取每个字段相关的实体的名称?
我希望在 MetadataSchema.AttributeLookupValue
table 中看到这个,但这似乎不是正确的地方。
理想情况下,我想为这些信息编写一个查询。大致如下:
SELECT
AttributeName,
AttributeTypeName,
ReferencedEntityName
FROM
unknown.TableName
WHERE
AttributeName IN ('new_AccountContact', 'new_LeasedEquipment')
-- Results:
-- AttributeName | AttributeTypeName | ReferencedEntityName
-- new_AccountContact | lookup | Contact
-- new_LeasedEquipment | lookup | Equipment
任何试图实现这一目标的帮助将不胜感激,谢谢。
下面的查询 returns 主要实体、查找字段名称和查找字段的目标实体类型。
SELECT e.Name 'primary entity' , a.LogicalName 'lookup field in primary entity' , a.ReferencedEntityObjectTypeCode , e2.LogicalName as 'target entity of the lookup field'
FROM MetadataSchema.Attribute a inner join MetadataSchema.Entity e on a.EntityId = e.EntityId
inner join MetadataSchema.Entity e2 on a.ReferencedEntityObjectTypeCode=e2.ObjectTypeCode
WHERE ReferencedEntityObjectTypeCode <>0
AND e.name='account'