В Dynamics CRM я часто получаю требования от бизнес-пользователей для создания отчетов.Бизнес-пользователи знают и говорят о отображаемых именах и метках атрибутов .Чтобы написать запрос, мне нужно сопоставить их с именами сущностей и именами атрибутов .Я хотел бы использовать запрос для поиска этого.
К чему мне присоединить представление dbo.LocalizedLabelView, чтобы получить столбец AttributeLabel в следующем запросе?Я не могу понять, на что должен ссылаться ObjectId.(И если вы можете сказать мне, как вы выяснили ответ, я был бы особенно благодарен!)
select
[EntityName] = entityNames.Name,
[EntityDisplayName] = entityDisplayNames.Label,
[AttributeName] = attributeNames.PhysicalName,
[AttributeDisplayName] = attributeDisplayNames.Label
--[AttributeLabel] = attributeLabels.Label
from
dbo.EntityView entityNames
inner join dbo.LocalizedLabelView entityDisplayNames
on entityDisplayNames.ObjectId = entityNames.EntityId
and entityDisplayNames.ObjectColumnName = 'LocalizedName'
left outer join dbo.AttributeView attributeNames
on attributeNames.EntityID = entityNames.EntityID
inner join dbo.LocalizedLabelView attributeDisplayNames
on attributeDisplayNames.ObjectId = attributeNames.AttributeID
and attributeDisplayNames.ObjectColumnName = 'DisplayName'
and attributeDisplayNames.LanguageID = entityDisplayNames.LanguageID
--inner join dbo.LocalizedLabelView attributeLabels
-- on attributeLabels.ObjectId = ?????
-- and attributeLabels.LanguageID = entityDisplayNames.LanguageID
where
entityDisplayNames.LanguageID = 1033
order by
entityDisplayNames.Label,
attributeDisplayNames.Label