Microsoft Dynamics 365의 엔터티 특성 소개

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

엔터티는 각 레코드 내에 포함할 수 있는 데이터를 나타내는 특성 집합을 포함합니다. 개발자는 여러 유형의 특성과 작업 방식을 이해해야 합니다. 특성에 대한 메타데이터는 여러 유형의 특성의 유효한 작업과 동작을 설명합니다. 여러 가지 유형의 특성은 일반적인 동작으로 그룹화할 수 있습니다.

구체적인 경험이 있는 개발자는 자신의 개발 스타일에 따라 다릅니다.추가 정보:엔터티 프로그래밍(초기 바인딩, 런타임에 바인딩 및 개발자 확장 비교).

참고

이 항목은 많은 메타데이터 속성에 대한 참조를 포함합니다.조직에 대한 엔터티 메타데이터를 보려면 조직에 대한 메타데이터 찾아보기에 설정된 메타데이터 브라우저 솔루션을 설치하십시오. SDK 다운로드의 최상위 폴더에 포함된 EntityMetadata.xlsx라는 Excel 파일에서 사용자 지정되지 않은 조직의 메타데이터를 볼 수도 있습니다.

이 항목의 내용

특성에 유효한 작업

특성 유형

데이터 특성 분류

컬렉션 데이터 특성

날짜와 시간 데이터 특성

이미지 데이터 특성

수량 데이터 특성

참조 데이터 특성

문자열 데이터 특성

고유 식별자 데이터 특성

가상 특성

논리 특성

특성에 유효한 작업

각 특성에는 지원하는 작업을 설명하는 메타데이터가 있습니다. 작업하는 특성에 유효한 작업을 알고 있어야 합니다.

AttributeMetadata 속성

설명

IsValidForCreate

레코드를 만들 때 이 특성 값을 설정하는 것이 유효한 경우 True이고, 그렇지 않으면 false입니다.

IsValidForRead

이 특성 값을 검색할 수 있는 경우 True이고, 그렇지 않으면 false입니다.

IsValidForUpdate

레코드를 업데이트할 때 이 특성 값을 설정하는 것이 유효한 경우 True이고, 그렇지 않으면 false입니다.

특성 유형

특성은 메타데이터에 정의되며 AttributeMetadata.AttributeTypeName에는 유형을 설명하는 값이 포함됩니다. 정적 AttributeTypeDisplayName 구성원은 가능한 유형 목록을 제공합니다.

참고

이전 AttributeType 속성은 ImageType 특성을 Virtual로 표시한다는 점을 제외하고 대부분 AttributeTypeName에 정렬된 데이터를 포함하고 있습니다.AttributeType 속성 대신에 AttributeTypeName 속성을 사용해야 합니다.

다음 섹션은 서로를 보다 쉽게 비교할 수 있도록 특성 유형을 다음 범주로 그룹화합니다.

  • 데이터 특성 분류

  • 컬렉션 데이터 특성

  • 날짜와 시간 데이터 특성

  • 이미지 데이터 특성

  • 수량 데이터 특성

  • 참조 데이터 특성

  • 문자열 데이터 특성

  • 고유 식별자 데이터 특성

  • 가상 특성

데이터 특성 분류

이 그룹에 있는 5개의 각 특성은 일반 EnumAttributeMetadata 기본 클래스에서 상속되며 레코드를 범주로 그룹화하는 유효한 값의 미리 정의된 집합을 사용합니다.

Value 속성 집합이 있는 OptionSetValue을 사용하여 선택 목록, 상태 및 상태 특성을 메타데이터 내의 유효한 옵션을 나타내는 정수로 설정합니다.

부울 값을 사용하여 부울 특성을 설정하지만 이는 두 가지 옵션으로만 제한된다는 것을 알고 있어야 합니다.

EntityName 특성은 조직에서 유효한 엔터티 논리 이름으로 제한되는 문자열 값을 사용합니다.

사용자 지정 선택 목록과 부울 특성은 계산되는 특성으로 정의할 수 있습니다.추가 정보:계산되는 특성.

메타데이터 유형

AttributeTypeName 값

설명

PicklistAttributeMetadata

PicklistType

OptionSetMetadata.Options 내에 정의된 해당 특성에 대한 유효한 값은 OptionMetadata.Value에 설정됩니다.

응용 프로그램의 사용자 지정 도구 내에서 이러한 특성은 옵션 집합 필드라고 합니다.

StatusAttributeMetadata

StatusType

이러한 시스템 특성을 일반적으로 StatusCode라고 합니다.OptionSetMetadata.Options 내에 정의된 해당 특성에 대한 유효한 값은 StatusOptionMetadata.Value에 설정됩니다.

각 옵션의 StatusOptionMetadata.State 속성은 해당 StateCode 값에 유효한 값을 설명합니다.StatusCode를 설정하기 전에 현재 StateCode 값에 유효한지 확인해야 합니다. 레코드의 상태를 변경해야 할 때는 SetStateRequest 메시지를 사용하여 StatusCodeStateCode 특성을 설정합니다.

이러한 특성은 설정할 수 있는 값에 추가 제한이 있을 수 있습니다.StatusOptionMetadata.TransitionData 속성은 EntityMetadata.EnforceTransitions 값이 true일 때 허용되는 옵션에 대한 정보를 포함할 수 있습니다.추가 정보:사용자 지정 상태 모델 전환 정의.

StateAttributeMetadata

StateType

이러한 시스템 특성을 일반적으로 StatusCode라고 합니다.OptionSetMetadata.Options 내에 정의된 해당 특성에 대한 유효한 값은 StateOptionMetadata.Value에 설정됩니다.

StateCode는 업데이트에 유효하지 않습니다. 레코드를 만든 후에 StateCodeSetStateRequest 메시지를 사용해야만 설정할 수 있습니다.

각 옵션에 대한 StateOptionMetadata.DefaultStatus 속성은 SetStateRequest에서 매개 변수로 설정되지 않은 경우 사용할 기본 StatusCode을 설명합니다.

BooleanAttributeMetadata

BooleanType

부울 특성은 부울 값을 사용하여 직접 설정할 수 있지만 다른 특성과 마찬가지로 부울 옵션에 해당하는 FalseOptionTrueOption 속성이 있는 OptionSet 속성도 갖고 있습니다. 이러한 각 속성은 특성의 true와 false가 무엇을 의미하는지를 나타내는 지역화된 레이블 집합을 정의합니다. 응용 프로그램의 사용자 지정 도구 내에서 이러한 특성은 각 옵션의 의미가 true와 false만이 아니라 옵션의 상호 배타적인 쌍이 될 수 있기 때문에 두 개 옵션 필드라고 합니다. 예를 들어, 옵션은 크고 작음이 될 수 있습니다.

EntityNameAttributeMetadata

EntityNameType

이러한 시스템 특성은 일반적으로 여러 유형에 유효한 고유한 식별자 또는 참조 특성이 쌍을 이루고 있습니다. 이 특성의 값은 엔터티의 논리적 이름을 나타내는 문자열 값입니다. 해당 참조 특성이 EntityReference인 경우 이 특성의 값은 EntityReference.Name 속성 값과 동일합니다.

컬렉션 데이터 특성

이러한 시스템 특성은 값의 컬렉션을 반환합니다.

AttributeTypeName 값

설명

CalendarRulesType

CalendarRulesType을 사용하는 실제 특성이 없습니다. 초기 바인딩 스타일을 사용할 때는 코드 생성 도구가 메타데이터에 표시되지 않는 다음 두 시뮬레이션된 특성을 만듭니다. 이러한 특성은 실제로 엔터티 인스턴스에 대해 일대다 관계로 연결된 일정 규칙 레코드 보기를 나타냅니다.

  • Calendar.CalendarRules 관계: calendar_calendar_rules

  • Service.CalendarRules 관계: service_calendar_rules

PartyListType

다음 특성은 다양한 유형의 활동에 대해 여러 EntityReference를 설정할 수 있습니다.

ActivityPointer.allparties
Appointment.OptionalAttendees
Appointment.Organizer
Appointment.requiredattendees
CampaignActivity.from
CampaignActivity.Partners
CampaignResponse.Customer
CampaignResponse.from
CampaignResponse.Partner
Email.bcc
Email.cc
Email.from
Email.to
Fax.from
Fax.to
Letter.bcc
Letter.cc
Letter.from
Letter.to
PhoneCall.from
PhoneCall.to
RecurringAppointmentMaster.OptionalAttendees
RecurringAppointmentMaster.Organizer
RecurringAppointmentMaster.RequiredAttendees
ServiceAppointment.Customers
ServiceAppointment.Resources
SocialActivity.From
SocialActivity.Resources
SocialActivity.To

날짜와 시간 데이터 특성

DateTimeType의 메타데이터 AttributeTypeName 값을 갖는 특성입니다. 이러한 특성은 System.DateTime를 사용하여 설정합니다.

DateTimeAttributeMetadata.Format 속성은 다음 DateTimeFormat 값 중 하나가 될 수 있습니다.

  • DateAndTime: 날짜와 시간을 표시합니다.

  • DateOnly: 날짜만을 표시합니다.

사용자 지정 날짜와 시간 특성은 계산되는 특성 또는 롤업 특성으로 정의할 수 있습니다.추가 정보:계산 및 롤업 특성.

이미지 데이터 특성

이미지 특성을 지원하는 엔터티의 경우 엔터티 이미지 특성의 SchemaName는 항상 EntityImage입니다.

추가 정보:이미지 특성, 엔터티 이미지샘플: 엔터티 이미지 설정 및 검색

수량 데이터 특성

이 범주의 특성은 숫자 데이터를 사용합니다. 이러한 각 특성에는 유효한 값의 범위를 설정하는 MaxValueMinValue 메타데이터 속성이 있습니다.

사용자 지정 10진수, 정수 및 통화 특성은 계산되는 특성 또는 롤업 특성으로 정의할 수 있습니다.추가 정보:계산 및 롤업 특성.

메타데이터 유형

AttributeTypeName 값

설명

BigIntAttributeMetadata

BigIntType

BigInt 특성은 내부 전용 특성입니다.

DecimalAttributeMetadata

DecimalType

10진수 값을 사용합니다.

Precision 메타데이터 속성은 특성에 사용할 정밀도를 설정합니다.

DoubleAttributeMetadata

DoubleType

double 값을 사용합니다.

Precision 메타데이터 속성은 특성에 사용할 정밀도를 설정합니다.

IntegerAttributeMetadata

IntegerType

int 값을 사용합니다.

MoneyAttributeMetadata

MoneyType

decimalValue 속성이 있는 Money를 사용합니다.

각 통화 특성에는 조직에서 여러 통화를 사용하고 있을 때 조직의 기본 통화로 값을 계산하는 데 사용되는 해당 시스템 계산 기본 통화 금액 특성이 있습니다.IsBaseCurrency 속성은 통화 특성이 기본 통화를 나타내는지 여부를 식별합니다.추가 정보:거래 통화(통화) 엔터티.

통화 특성에는 사용해야 하는 정밀도 수준을 지정할 수 있는 PrecisionSource 메타데이터 속성도 있습니다. 이 속성의 정수 값은 다음의 여부를 결정합니다.

  • 0: 정밀도가 Precision 메타데이터 속성에 의해 결정됩니다.

  • 1: Organization.PricingDecimalPrecision 값입니다.

  • 2: 현재 레코드와 연관된 TransactionCurrency.CurrencyPrecision입니다.

참조 데이터 특성

이러한 특성은 일반적으로 조회 특성이라고 하며 각각 EntityReference 값을 포함합니다. 이러한 특성의 차이는 연결할 수 있는 엔터티의 종류에 있습니다.Targets 메타데이터 속성은 조회의 유효한 대상을 나타내는 유효한 엔터티 논리 이름의 **String[]**을 포함합니다. 사용자 지정 조회 특성은 Targets 속성에서 단일 유형만 가질 수 있습니다.

PartyListType는 일종의 참조 데이터 특성을 나타내지만 참조 컬렉션을 포함하고 있기 때문에 컬렉션 데이터 특성에 포함됩니다.

메타데이터 유형

AttributeTypeName 값

설명

LookupAttributeMetadata

CustomerType

이러한 시스템 조회 특성은 거래처 또는 연락처 엔터티 레코드와 연결할 수 있습니다.

Contact.ParentCustomerId
Contract.BillingCustomerId
Contract.CustomerId
ContractDetail.CustomerId
CustomerOpportunityRole.CustomerId
CustomerRelationship.CustomerId
CustomerRelationship.PartnerId
Entitlement.CustomerId
Incident.CustomerId
Invoice.CustomerId
Lead.CustomerId
Opportunity.CustomerId
Quote.CustomerId
SalesOrder.CustomerId
SocialActivity.PostAuthor
SocialActivity.PostAuthorAccount
SocialProfile.CustomerId

LookupType

이러한 조회 특성은 메타데이터 속성에 의해 표시되는 레코드 유형에 대한 참조를 설정하는 데 사용할 수 있습니다.

일부 시스템 조회에는 Targets 속성에 대해 설정된 값이 없지만 해당 엔터티는 조회와 연관된 엔터티 관계를 기반으로 분명해야 합니다.

OwnerType

이러한 조회의 이름은 항상 OwnerId이며 각 사용자 담당자 엔터티마다 하나씩 있습니다. 시스템 사용자 또는 팀 레코드를 참조할 수 있습니다.

문자열 데이터 특성

문자열 데이터를 사용하는 특성은 두 종류가 있습니다.

메타데이터 유형

AttributeTypeName 값

설명

StringAttributeMetadata

StringType

서식을 적용할 수 있는 문자열 값의 특성입니다.추가 정보:StringAttributeMetadata 형식.

사용자 지정 문자열 특성은 계산되는 특성으로 정의할 수 있습니다.추가 정보:계산되는 특성.

MemoAttributeMetadata

MemoType

메모에 사용할 문자열 값의 특성입니다. 이 특성은 TextArea로 설정된 FormatName 속성 값이 있는 문자열 특성과 동일합니다.

고유 식별자 데이터 특성

UniqueidentifierType의 메타데이터 AttributeTypeName 값이 있는 특성은 null이 허용되는 System.Guid 값을 포함합니다.

각 엔터티 인스턴스는 레코드의 고유 식별자를 나타내는 하나의 특성을 포함합니다. 이 특성에는 명명 규칙 <엔터티 스키마 이름>+Id를 따르는 스키마 이름이 있습니다. 예를 들어, 거래처 엔터티에서 고유 식별자를 나타내는 특성에 대한 스키마 이름은 AccountId입니다. 이 값은 Entity.Id 속성을 사용하여 직접 사용할 수도 있습니다. 이 특성은 쿼리의 ColumnSet에 포함하지 않는 경우에도 엔터티를 검색하면 항상 반환됩니다. 이 값은 새로 인스턴스화된 엔터티에 대해 null입니다. 새 레코드를 만들 때 고유 식별자를 정의하는 데 Guid 값을 설정하는 것은 유효하지만 최고의 성능을 위해 null로 남겨두고 레코드가 만들어질 때 시스템이 값을 할당하도록 허용하는 것이 좋습니다. 레코드를 저장한 후 이 값은 읽기 전용이 됩니다.

엔터티는 엔터티의 기능에 따라 다른 고유 식별자 특성을 포함할 수 있습니다. 예를 들어, 비즈니스 프로세스에 사용할 수 있는 엔터티는 레코드와 연관된 현재 비즈니스 프로세스를 추적하는 ProcessIdStageId에 대한 고유 식별자를 포함합니다. 일반적으로 EntityReference 값을 사용할 수 있는 특정 시스템 관계는 대신 고유 식별자를 사용합니다. 예를 들어 거래처 및 연락처 엔터티는 각각 거래처나 연락처를 만들 때 만들어지는 CustomerAddress 레코드에 해당하는 두 개의 고유 식별자 특성(Address1_AddressIdAddress2_AddressId)을 갖습니다.

가상 특성

엔터티에 대한 메타데이터는 VirtualType의 메타데이터 AttributeTypeName 값이 있는 일부 특성을 포함합니다. 코드에서 이러한 특성을 사용할 수 없습니다.

논리 특성

논리 특성은 엔터티에 있는 기타 특성과는 다른 데이터베이스에 저장되는 값을 포함합니다. 대부분의 경우 이 내부 구현은 Microsoft Dynamics 365의 작업과는 관련이 없습니다. 논리 특성을 계산되는 필드의 소스로 사용하면 계산 필드의 값을 정렬할 수 없습니다.AttributeMetadata.IsLogical 속성을 사용하여 특성이 논리 특성인지 검색합니다.

가장 일반적인 논리 특성은 CompetitorAddress, CustomerAddress, InternalAddress, LeadAddress 및 PublisherAddress 등 여러 특수 엔터티에 정보를 저장하는 특성입니다. 논리 특성을 사용하여 두 주소에 대한 완벽한 특성 집합을 포함하는 시스템 엔터티는 8가지가 있습니다. 이러한 각 특성은 Address1_City 또는 Address2_Latitude 같이 “Address*”로 시작합니다.

참고 항목

Microsoft Dynamics 365에서 엔터티에 대한 소개
이미지 특성
계산 및 롤업 특성
샘플: 유효한 상태 전환 검색
샘플: 엔터티 이미지 설정 및 검색

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보