다음을 통해 공유


코드 생성 도구 확장을 사용하여 코드 생성(Dynamics CRM 2015)

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 및 Microsoft Dynamics CRM Online 2015 업데이트에 대한 개발자 확장은 Microsoft Dynamics 365 엔터티에 대해 데이터 컨텍스트 클래스와 DTO(데이터 전송 개체)를 생성하는 데 사용되는 CrmSvcUtil.exe 코드 생성 도구에 대한 확장 라이브러리를 제공합니다. 이 메커니즘은 엔터티 프레임워크에서 SqlMetal이 구현하는 것과 동일한 디자인 패턴을 따릅니다. 데이터 컨텍스트 클래스는 모든 데이터 작업을 담당하고 Microsoft Dynamics 365의 모든 엔터티에 대해 IQueryable 인터페이스를 제공합니다.IQueryable 엔터티 설정 속성에 대해 LINQ 쿼리를 실행하여 데이터를 검색할 수 있습니다.AddObject, DeleteObject, UpdateObjectSaveChanges 메서드를 사용하여 데이터를 변경할 수 있습니다.

CrmSvcUtil.exe 코드 생성 도구에 대한 Microsoft.Xrm.Client.CodeGeneration 확장은 다음과 같은 기능을 제공합니다.

  • 정적 유형의 엔터티 클래스를 생성합니다.

  • 다대다 관계 클래스를 생성합니다.

  • Microsoft Dynamics 365 스키마 이름을 기반으로 클래스 이름과 속성 이름을 생성합니다.

  • 엔터티 관리를 위해 WCF 데이터 서비스(Astoria/OData) 호환 데이터 컨텍스트 클래스를 생성합니다.

이 항목의 내용

엔터티 클래스

데이터 컨텍스트 클래스

엔터티 클래스

코드 생성 도구에서 생성된 엔터티 클래스는 다음과 같은 기능을 제공합니다.

  • WCF 데이터 서비스(Astoria/OData) 주석 특성을 지원합니다.

  • 다음을 제공하는 강력한 유형의 엔터티 특성 접근자입니다.

    • Microsoft Dynamics 365 데이터 유형을 표준 CLR 데이터 유형에 매핑합니다.

    • 다대일 관계에 대한 접근자는 다음을 포함합니다.

      • 관련 엔터티의 지연 로드입니다.

      • 외래 키 ID에 대한 접근자입니다.

    • 관련 엔터티 집합의 지연 로드를 제공하는 다대다 관계 접근자입니다.

데이터 컨텍스트 클래스

Microsoft.Xrm.Client.CodeGeneration 확장을 사용하여 CrmSvcUtil.exe에서 생성된 데이터 컨텍스트 클래스는 WCF 데이터 서비스 IUpdatableIExpandProvider 인터페이스를 CrmOrganizationServiceContext 클래스를 상속한 결과로 사용합니다. 자세한 내용은 .NET 설명서 IUpdatable 인터페이스IExpandProvider 인터페이스를 참조하십시오. 이러한 인터페이스의 기능은 다음과 같습니다.

  • 엔터티를 관리하기 위해 읽기, 만들기, 업데이트 및 삭제 작업을 제공합니다.

  • 관계(1대N, N대1, N대N)를 관리하기 위해 set-link, add-link 및 remove-link 작업을 제공합니다.

  • 웹 서비스 및 REST 서비스를 노출하기 위해 DataServiceHostFactory를 지원합니다.

  • 정적 또는 동적 유형의 쿼리에 대해 LINQ 쿼리 공급자를 제공합니다.

  • 동적 쿼리는 코드 생성이 필요하지 않습니다.

  • 백그라운드에서 캐싱을 처리합니다.

정적 유형의 엔터티 설정 접근자를 제공하기 위해 단일 컨텍스트 클래스가 생성됩니다. 또한 쿼리를 사용하여 다양한 포털 기능을 제공하기 위해 여러 하위 클래스가 생성되고 WCF 데이터 서비스의 인터셉터 기능을 변경합니다.

참고 항목

AddObject
DeleteObject
UpdateObject
SaveChanges
Microsoft Dynamics CRM 2015용 개발자 확장
개발자 확장 컨텍스트 개체 모델(Dynamics CRM 2015)
CrmSvcUtil.exe 확장 사용 및 명령줄 매개 변수(Dynamics CRM 2015)
생성된 클래스 파일 사용

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