2011-09-09 4 views

답변

8

CRM에서 엔터티 데이터를 검색하기 위해 초기 바인딩 형식을 생성 할 필요가 없습니다. Entity (CRM4의 DynamicEntity와 비슷한)라는 유형으로 작업 할 수 있습니다.

SDK에는 런타임에 바인딩 된 엔터티 here을 사용하는 방법에 대한 몇 가지 예가 있습니다.

이 엔티티 클래스는 강하게 입력되지 않으며 (crmsvcutil에서 생성 된 초기 바인딩 엔티티와 달리) 사용자가 직접 캐스트를 수행해야합니다. 이것에 도움이되는 엔티티에 대한 메소드가 있습니다. 다음 코드는 런타임에 바인딩 된 엔터티를 검색하는 방법에 대해 설명합니다.

IOrganizationService service = GetOrganizationService(); 
var entity = service.Retrieve(entityName, 
           entityId, 
           new ColumnSet(new[] 
               { 
                stringAttributeName, 
                intAttributeName, 
                floatAttributeName, 
                boolAttributeName, 
                optionSetAttributeName, 
                entityReferenceAttributeName, 
               })); 
var stringValue = entity.GetAttributeValue<string>(stringAttributeName); 
var intValue = entity.GetAttributeValue<int?>(intAttributeName); 
var floatValue = entity.GetAttributeValue<double?>(floatAttributeName); 
var boolValue = entity.GetAttributeValue<bool?>(boolAttributeName); 
var optionSetValue = entity.GetAttributeValue<OptionSetValue>(optionSetAttributeName); 
var entityReferenceValue = entity.GetAttributeValue<EntityReference>(entityReferenceAttributeName);