我正在为我的插件使用CRM 2015 SDK。我想在我的代码中使用实体引用的属性。我能够获得Guid和逻辑名称。但是,对于所有实体引用字段,名称都返回null。这是我的代码:
EntityReference centre= ((EntityReference)quoteEntity.Attributes["mc_centre"]);
Guid centreGuid = centre.Id; //returns Guid
string centreName = centre.Name; //returns null
我检查了Referenced Entity,“Center”,它使用'name'字段并具有有效值。有没有人遇到同样的问题?我在代码中做错了吗?我不希望另一个服务电话获得名称btw。
答案 0 :(得分:4)
从属性转换时,并不总是填充Name
的{{1}}属性。
如果要获取名称,则需要进行额外检索。
这是相关的MSDN文章:EntityReference.Name Property
此属性可以包含值或null。这个属性不是 除非EntityReference对象已经自动填充 从服务器检索。
答案 1 :(得分: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();