0

this 코드 샘플을 컴파일하려고합니다.초기 바인딩 된 엔터티를 정의하는 방법은 무엇입니까?

그것은 SystemUser에 대한 종속성이 있습니다

    // Now make an SDK call with the organization service proxy. 
       // Display information about the logged on user. 
       Guid userid = ((WhoAmIResponse)organizationProxy.Execute(
        new WhoAmIRequest())).UserId; 
       SystemUser systemUser = organizationProxy.Retrieve("systemuser", userid, 
        new ColumnSet(new string[] { "firstname", "lastname" })).ToEntity<SystemUser>(); 
       Console.WriteLine("Logged on user is {0} {1}.", 
        systemUser.FirstName, systemUser.LastName); 

을하지만 SystemUser는 그렇지 않은, 초기 바인딩 실체?

사용할 수있는 SystemUser가 있습니까? Microsoft는 라이브러리를 제공합니까?

enter image description here

답변

4

은 일찍 바운드 엔티티를 생성하는 도구를 사용해야합니다. 이렇게하는 방법은 여러 가지가 있습니다.

  • 전통적인 방법은 CrmSvcUtil입니다.
  • Early Bound GeneratorXrmToolBox에 사용하십시오. 이것은 기본적으로 CrmSvcUtil의 사용자 인터페이스이며 다양한 개선 사항이 있습니다.
  • CRM Code Generator for Visual Studio을 사용하십시오.이 또한 약간의 개선을 통해 CrmSvcUtil을 실행합니다.
  • XrmContext은 다양한 개선을 통해 CrmSvcUtil에서 생성 된 클래스와 유사한 초기 바인딩 클래스를 출력하는 스크래치 도구에서 다시 작성된 것입니다. 전체 공개 : 저는이 도구를 만든 회사에서 일합니다 (그리고 그것을 사용하는 것이 좋습니다).

결국 어떤 도구를 사용 하느냐가 별 문제가되지 않습니다. 실제로 하나를 더 많이 사용하는 것이 중요합니다. 늦게 바인딩 된 엔티티를 사용하는 것보다 큰 이점이 있다는 것을 알게되었습니다.

+0

Visual Studio Henrik 용 Crm 코드 생성기를 인식하지 못했습니다. 시원한. Early Bound Generator를 사용하면 보유하고있는 연결 설정을 저장하고 TFS에서 체크 아웃하고 프로젝트에 추가하고 TFS에 추가하는 작업을 처리 할 수 ​​있습니다. – Daryl

1

"DLaB.Xrm.Entities"는 Early Bound Entities의 NuGet 패키지를 유지 관리합니다. 기존에 수행 한 사용자 정의는 포함되지 않지만 기본 속성/엔티티가 있습니다. 여기

1

모든 대답은 잘하지만,이 코드를 실행하는 가장 간단한 (빠른) 방법은 컴파일하려고하는 예제 프로젝트가 이미

\SDK\SampleCode\CS\HelperCode\MyOrganizationCrmSdkTypes.cs 

에서 SDK 자체에서 제공하는 클래스를 사용하는 것입니다 enter image description here