0

我试图了解实体引用的使用(在 crm 2011 中)我在网上找到了许多实体引用使用的示例,主要是使用查找字段,但我需要一个绝对的描述。实体引用是否仅用于查找字段?我可以使用一个简单的实体来获取我的数据吗?实体可以替换实体引用吗?我的问题不仅是关于实体引用和实体之间的区别,还涉及实体引用的定义以及为什么/在哪里使用它。有人可以把这个主题说清楚吗。

4

1 回答 1

12

在 Dynamics CRM 中,开发记录称为实体,由属性组成。当一个属性是一个查找(即,对另一个实体的引用)时,它的类型是EntityReference。类型是必要的EntityReference,因为它必须同时传达实体的逻辑名称和特定记录的id(a Guid)。

    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;

由于类型不同,Entity对象不能用作 an 。EntityReference有一个方法Entity返回一个EntityReference, Entity.ToEntityReference()

重要的

关键EntityReference在于它包含记录的逻辑名称id

Dynamics CRM 中有几个区域,例如当使用 Customer 数据类型时,查找可能引用多个实体类型。在这些情况下,Dynamics CRM 无法仅依赖 aGuid作为记录标识符。

于 2017-08-07T01:30:36.773 回答