2017-08-06 6 views
-2

J'essaie de comprendre l'utilisation de la référence d'entité (dans crm 2011) J'ai trouvé en ligne de nombreux exemples d'utilisation d'une référence d'entité, principalement avec des champs de recherche, mais j'ai besoin d'une absréation. La référence d'entité est-elle uniquement utilisée pour l'utilisation du champ de recherche? puis-je utiliser une entité simple pour obtenir mes données? l'entité peut-elle remplacer la référence d'entité? Ma quesrion ne concerne pas seulement la différence entre entityreference et entity, mais aussi la définition de entityreference et pourquoi/où l'utiliser. Quelqu'un peut-il rendre ce sujet clair s'il vous plaît.Définition de la référence d'entité

+0

Copie possible de [Convertir EntityReference en entité] (https://stackoverflow.com/questions/15277597/convert-entityreference-to-entity) –

+0

@ArunVinoth J'ai vu cette réponse avant de poster ma question et ce n'était pas assez clair, je ne pense pas que ma question est un doublon. – Damkulul

Répondre

7

Dans Dynamics CRM, les enregistrements de développement sont appelés entités et sont constitués d'attributs. Lorsqu'un attribut est une référence (c'est-à-dire une référence à une autre entité), il est de type EntityReference. Le type EntityReference est nécessaire car il doit transmettre à la fois le nom logique de l'entité et le id (Guid) de l'enregistrement spécifique.

IOrganizationService service = GetService(); //TODO: Implement GetService() 

//From: https://msdn.microsoft.com/en-us/library/gg328149.aspx 

Entity contact = new Entity("contact"); 
contact.Attributes["firstname"] = "ContactFirstName"; 
contact.Attributes["lastname"] = "ContactLastName"; 
Guid contactId = service.Create(contact); 

Entity account = new Entity("account"); 
account["name"] = "Test Account1"; 
EntityReference primaryContactId = new EntityReference("contact", contactId); 
account["primarycontactid"] = primaryContactId; 

Un objet Entity ne peut pas être utilisé comme EntityReference en raison de la différence de type. Il existe une méthode sur Entity qui renvoie un EntityReference, Entity.ToEntityReference().

IMPORTANT

L'essentiel de la EntityReference est qu'il contient à la fois le nom logique et l'id du dossier.

Dynamics CRM comporte plusieurs zones, par exemple lorsque le type de données client est utilisé, où une recherche peut faire référence à plusieurs types d'entité. Dans ces situations, Dynamics CRM ne peut pas s'appuyer sur un Guid comme identificateur d'enregistrement.