什么是实体引用定义

what is entity reference definition

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

在 Dynamics CRM 中,开发记录称为实体,由属性组成。当属性是查找(即对另一个实体的引用)时,它的类型为 EntityReferenceEntityReference 类型是必需的,因为它必须传达实体的逻辑名称和特定记录的 id(一个 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 对象不能用作 EntityReference。在 Entity 上有一个方法 returns 一个 EntityReference, Entity.ToEntityReference().

重要

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

Dynamics CRM 中有几个方面,例如在使用客户数据类型时,查找可能会引用多个实体类型。在这些情况下,Dynamics CRM 无法仅依赖 Guid 作为记录标识符。