0

我正在为我的插件使用 CRM 2015 SDK。我想要我的代码中实体引用的属性。我能够获得 Guid 和逻辑名称。但是对于所有实体引用字段,该名称都返回 null。这是我的代码:

EntityReference centre= ((EntityReference)quoteEntity.Attributes["mc_centre"]);
Guid centreGuid = centre.Id; //returns Guid
string centreName = centre.Name; //returns null

我检查了使用“名称”字段并具有有效值的引用实体“中心”。有没有人遇到过同样的问题?我在我的代码中做错了吗?我不希望另一个服务调用来获得名称 btw。

4

2 回答 2

4

当你从一个属性转换它时,它的Name属性EntityReference并不总是被填充。如果要获取名称,则需要进行额外的检索。

这是相关的 MSDN 文章:EntityReference.Name 属性

此属性可以包含一个值或 null。除非已从服务器检索到 EntityReference 对象,否则不会自动填充此属性。

于 2014-12-13T12:13:00.127 回答
4
Entity member = service.Retrieve("new_vendor", ((EntityReference)entity["new_vendorname"]).Id, new ColumnSet(true));

或者

Entity member = service.Retrieve("new_vendor", Vendor.Id, new ColumnSet(true));


String VendorName = member.Attributes["new_name"].ToString();
于 2014-12-30T09:39:52.990 回答