Получение имен атрибутов сущности в MS CRM 4.0

Asked
Viewd4384

2

Я пытаюсь получить имя и тип атрибута, существующие в сущности, а точнее - в динамической сущности. У меня есть следующий код.

 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
 

Этот запрос в основном возвращает пустой набор результатов только с именами полей. Это то, что я ищу здесь. Возможно ли такое?

1 ответов

2

В приведенном выше примере для динамического объекта не заданы какие-либо свойства. Динамический объект - это особый тип в MS CRM, который используется, когда вы не знаете тип CRM до времени выполнения. Если вы добавите свойства к динамическому объекту и запустите свой пример, вы получите то количество возвращаемых свойств, которое вы определяете.

Чтобы получить атрибуты контакта, вам нужно будет сослаться на службу метаданных CRM, как описано в SDK .

В этой загрузке в разделе HowTo есть пример, который показывает, как получить метаданные объекта и атрибута.