2014-12-13 8 views
0

저는 플러그인 용 CRM 2015 SDK를 사용하고 있습니다. 내 코드에서 엔터티 참조의 특성을 원한다. 나는 Guid와 Logical Name을 얻을 수있다. 그러나 이름은 모든 엔터티 참조 필드에 대해 null을 반환합니다. 나는 '이름'필드를 사용하여 유효한 값을 갖는 참조 된 엔터티, "센터"를 체크 한EntityReference에서 이름을 가져올 수 없습니다.

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

: 여기 내 코드입니다. 누구도 같은 문제에 직면 했습니까? 내 코드에서 뭔가 잘못하고 있니? 나는 다른 서비스 호출이 btw라는 이름을 얻는 것을 원하지 않는다.

+0

당신이 당신의 기록에'차 field'을 채울 수 있습니까? 이것은 일반적으로 ' _name' 필드 ('mc_name') 같지만 다를 수 있습니다. _solution_ -> _entity properties_ -> _primary fields_ – MarioZG

+0

예, 해당 이름 필드 'mc_name'에 유효한 값이 있습니다. – Mani

답변

4

EntityReferenceName 속성은 특성에서 캐스트 할 때 항상 채워지지 않을 수 있습니다. 이름을 얻으려면 추가 검색을 수행해야합니다. 이 속성은 값 또는 null을 포함 할 수 있습니다 EntityReference.Name Property

:

이 관련 MSDN 기사입니다. EntityReference 개체가 서버에서 검색된 이 아닌 한이 속성은 이 자동으로 채워지지 않습니다.

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(); 
+0

이름 만 가져 오려고 할 때'ColumnSet'에'new_name'을 지정할 수 있습니다. – Mani

관련 문제