我试图理解实体引用的用法(在crm 2011中)--我在网上找到了许多实体引用使用的例子,主要是使用查找字段,但我需要一个删减。实体引用仅用于查找字段吗?我可以使用一个简单的实体来获取我的数据吗?实体可以替代实体引用吗?我的问题不仅仅是实体引用和实体引用之间的区别,它还涉及实体引用的定义以及为什么/在哪里使用实体引用。有人能把这个问题说清楚吗?
发布于 2017-08-07 01:30:36
在Dynamics中,开发记录称为实体,由属性组成。当一个属性是一个查找(即对另一个实体的引用)时,它的类型是EntityReference。EntityReference类型是必要的,因为它必须同时传递实体的逻辑名称和特定记录的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上有一个返回EntityReference,Entity.ToEntityReference()的方法。
重要
EntityReference的关键之处在于它包含了记录的逻辑名称和id。
在Dynamics中有几个方面,例如当使用客户数据类型时,一个查找可以引用多个实体类型。在这种情况下,Dynamics不可能只依赖Guid作为记录标识符。
https://stackoverflow.com/questions/45537307
复制相似问题