3
crmsvcutil을 사용하여 초기 바인딩 유형을 생성하지 않고 사용자 지정 엔터티 특성 을 검색하는 방법을 찾고 있습니다.Crm 2011 초기 바인딩 유형이없는 사용자 지정 엔터티 레코드 특성 얻기
내 문제는 해결 되었습니까?
crmsvcutil을 사용하여 초기 바인딩 유형을 생성하지 않고 사용자 지정 엔터티 특성 을 검색하는 방법을 찾고 있습니다.Crm 2011 초기 바인딩 유형이없는 사용자 지정 엔터티 레코드 특성 얻기
내 문제는 해결 되었습니까?
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);