Получение имен атрибутов сущности в MS CRM 4.0
-
03-07-2019 - |
Вопрос
Я пытаюсь получить имя и тип атрибута, которые существуют в сущности, точнее, в динамической сущности. У меня есть следующий код.
DynamicEntity contactEntity = new DynamicEntity();
contactEntity.Name = EntityName.contact.ToString();
Property t = null;
foreach (Property prop_Test in contactEntity.Properties)
{
Response.Write("<br/>Name : " + prop_Test.Name.ToString());
}
Я получаю свойства считаются как 0.
Обязательно ли передавать идентификатор контактному лицу? Потому что я пытаюсь сопоставить атрибуты от сущности с атрибутами, которые я получаю из файла Excel. Конечный пользователь сам будет выполнять сопоставление, поэтому все, что мне нужно, это имя и тип атрибута и ничего больше. Например, в SQL у нас есть запрос
SELECT * FROM TABLE_NAME WHERE 1 <> 1
Этот запрос в основном возвращает пустой набор результатов только с именами полей. Это то, что я ищу здесь. Это вообще возможно?
Решение
В приведенном выше примере динамическая сущность не имеет никаких установленных свойств. Динамический объект - это особый тип в MS CRM, который используется, когда вы не знаете тип CRM до времени выполнения. Если вы добавите свойства к динамическому объекту и запустите свой пример, вы получите столько возвращаемых свойств, которые вы определили.
Чтобы получить атрибуты контакта, вам нужно обратиться к службе метаданных CRM, как описано в SDK .
В этой загрузке есть пример в разделе «Как», который показывает, как получить метаданные сущности и атрибута.