Pergunta

Estou tentando recuperar o nome e o tipo de atributo que existem em uma entidade, a entidade dinâmica é precisa. Eu tenho o seguinte código.

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());   
}

Estou recebendo as propriedades contam como 0.

É obrigatório passar um ID para a entidade de contato. Porque estou tentando mapear atributos da entidade para os atributos que recebo de um arquivo do Excel. O próprio usuário final estaria fazendo o mapeamento para que tudo que eu precise seja o nome e o tipo de atributo e nada mais. Por exemplo, no SQL, temos a consulta

SELECT * FROM TABLE_NAME WHERE 1 <> 1

Essa consulta retorna basicamente um conjunto de resultados vazios apenas com os nomes de campo. É isso que estou procurando aqui. Isso é possível?

Foi útil?

Solução

No seu exemplo acima, a entidade dinâmica não possui nenhuma propriedade definida. A entidade dinâmica é um tipo especial no MS CRM usado quando você não conhece o tipo CRM até o tempo de execução. Se você adicionar propriedades à entidade dinâmica e executar seu exemplo, você receberá por mais que devolvam as propriedades que você definirá.

Para obter os atributos de contato, você precisará fazer referência ao serviço de metadados do CRM, conforme explicado no Sdk.

Há um exemplo dentro deste download na seção Howto que mostra como obter a entidade e os metadados do atributo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top