2008-10-17 8 views
2

J'essaie de récupérer le nom et le type de l'attribut qui existe dans une entité, l'entité dynamique pour être précis. J'ai le code suivant.Récupération des noms d'attributs d'une entité dans MS CRM 4.0

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

Je reçois les propriétés comptent 0.

Est-il obligatoire pour moi de passer un identifiant à l'entité de contact. Parce que j'essaie de mapper les attributs de l'entité aux attributs que je reçois d'un fichier Excel. L'utilisateur final ferait lui-même la cartographie, donc tout ce dont j'ai besoin est le nom et le type de l'attribut et rien d'autre. Par exemple, dans SQL, nous avons la requête

SELECT * FROM TABLE_NAME WHERE 1 <> 1 

Cette requête renvoie essentiellement un vide avec seulement resultset les noms des champs. C'est ce que je cherche ici. Est-ce même possible?

Répondre

2

Dans votre exemple ci-dessus, l'entité dynamique n'a aucune propriété définie. L'entité dynamique est un type spécial dans MS CRM utilisé lorsque vous ne connaissez pas le type de CRM avant l'exécution. Si vous ajoutez des propriétés à l'entité dynamique et exécutez votre exemple, vous obtiendrez cependant de nombreuses propriétés que vous avez définies. Pour obtenir les attributs de contact, vous devez faire référence au service de métadonnées CRM comme expliqué dans le SDK.

Il y a un exemple dans ce téléchargement dans la section HowTo qui montre comment extraire les métadonnées d'entité et d'attribut.

Questions connexes