Получение метаданных Dynamics CRM - PullRequest
1 голос
/ 18 апреля 2019

Я использую Microsoft Dynamics CRM 2016 В Premise я пытаюсь получить некоторые конкретные метаданные, в основном получить через SQL Server физическое имя поля, отображаемое имя (Label) и значение поля из данной сущности. Это запрос, который у меня до сих пор:

 select  a.PhysicalName, I.Label
 from  [dbo].[Attribute] a
 inner join [dbo].[Entity] e on e.EntityId=a.EntityId
 inner join [dbo].[LocalizedLabel] l on l.ObjectId = a.AttributeId
 where e.Name='DesiredEntityName'

С помощью этого запроса я могу получить поля и отображаемую метку от данной сущности, однако я не вижу способа, как присоединиться и получить список значений для каждого поля.

1 Ответ

0 голосов
/ 19 апреля 2019

Необходимо выполнить запрос из таблицы stringmap, в которой будут храниться все значения списка выбора (набора параметров).

SELECT AttributeValue as Value, Value as Label
FROM StringMap s
JOIN EntityLogicalView e on s.ObjectTypeCode = e.ObjectTypeCode
WHERE AttributeName = 'DesiredAttributeName'
AND e.Name = 'DesiredEntityName'
ORDER BY DisplayOrder

Получить метаданные набора параметров с помощью SQL

Редактировать:

Теперь я вижу, что вы хотите.По сути, вам нужно подражать тому, что делает Product, когда вы экспортируете данные в Excel.

Когда вы выполняете приведенный ниже запрос, используя таблицу базы данных или представление или фильтрованное представление, вы хотите отображаемое имя как ALIAS.

SELECT name AS [Account Name], telephone1 AS [Business Phone]  from Account

Проблема может заключаться в том, что Имя схемы telephone1 легко доступно в таблице, где хранятся данные учетных записей, тогда как Отображаемое имя Business Phone хранится в нескольких различныхтакие таблицы, как Entity, Attribute, LocalizedLabel .

Для достижения этой цели может потребоваться выполнить собственное представление или конкатенацию запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...