샘플: Upsert를 사용하여 레코드 삽입 또는 업데이트
게시 날짜: 2017년 1월
적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
이 샘플 코드에서는 Upsert 메시지를 사용하여 레코드를 삽입하거나 업데이트하는 방법을 보여 줍니다. 이 샘플이 보여주는 기능에 대한 자세한 내용은 Upsert를 사용하여 레코드 삽입 또는 업데이트를 참조하십시오.
이는 Upsert를 사용하여 레코드 삽입 또는 업데이트에서 다운로드할 수 있습니다.
필수 조건
Microsoft Dynamics 365 또는 CRM Online 2016 업데이트 조직에 액세스합니다.
UpsertSample Visual Studio 프로젝트를 다운로드합니다.
UpsertSample Visual Studio 프로젝트를 열고 Microsoft.CrmSdk.CoreAssemblies 버전 8.0.0-preview 또는 이후 버전의 NuGet 패키지를 설치합니다. 자세한 내용은 NuGet 패키지 설치을 참조하십시오.
NuGet 패키지를 설치한 후에 샘플을 실행하는 방법과 예상되는 결과에 대한 자세한 내용은 샘플 실행를 참조하십시오.
이 항목의 내용
이 샘플의 기능
NuGet 패키지 설치
샘플 실행
이 샘플의 기능
ProductUpsertSample 클래스 Run 메서드는 UpsertSample 관리형 솔루션이 이미 설치되었는지 여부를 먼저 감지하는 ImportUpsertSampleSolution 메서드를 호출합니다. 그렇지 않은 경우 UpsertSample_1_0_0_0_managed.zip 파일을 가져와 이 관리형 솔루션을 설치합니다.
이 관리형 솔루션에는 이 샘플에서 사용되는 사용자 지정 sample_product 엔터티가 포함되어 있습니다. 이 엔터티에는 해당 특성에 저장된 값에 대한 고유한 제약 조건을 만드는 sample_productcode 대체 키가 있습니다.
WaitForEntityAndKeysToBeActive 메서드는 UpsertSample 솔루션이 설치된 직후 이 샘플에 필요한 대체 키를 사용할 수 없기 때문에 필요합니다. 이 메서드는 sample_product 엔터티에 대한 메타데이터를 폴링하여 대체 키가 준비될 때까지 나머지 샘플 실행을 지연시킵니다.
처음 ProcessUpsert 메서드를 호출하면 newsampleproduct.xml 파일에 있는 데이터를 처리하여 새로운 제품을 나타냅니다.UpsertRequest는 13개의 새로운 레코드를 만들기 위해 Execute 메서드에 전달됩니다.
UpsertResponse.RecordCreated 속성은 true를 반환하여 새로운 레코드가 만들어졌음을 나타냅니다.
ProcessUpsert 메서드를 완료하기 전에 프로그램은 샘플 제품 엔터티 레코드를 볼 것인지 묻습니다. ‘y’로 응답하는 경우 프로그램은 새로 만든 레코드를 보여주는 보기에 대한 Internet Explorer를 열려고 시도합니다.
두 번째로 ProcessUpsert 메서드를 호출하면 updatedsampleproduct.xml 파일에 있는 데이터를 처리하여 이전에 만든 제품 업데이트를 나타냅니다.Upsert 메시지는 6 레코드를 업데이트하는 데 사용됩니다.UpsertResponse.RecordCreated 속성은 레코드가 업데이트되었음을 보여주는 false를 반환합니다.
다시 ProcessUpsert 메서드는 브라우저에서 레코드를 볼 것인지 묻습니다. 이미 보기를 열어 둔 경우 보기를 새로 고쳐 변경 내용을 관찰할 수 있습니다.
마지막으로 DeleteUpsertSampleSolution는 Upsert 샘플 관리형 솔루션을 삭제할 것인지 묻는 메시지를 표시합니다.
“y”를 선택하면 sample_product 엔터티와 해당 엔터티의 모든 데이터를 포함하여 관리형 솔루션이 삭제됩니다. 아무것도 추가하지 않으면 조직은 그대로 유지됩니다.
“n”을 선택하는 경우 샘플로 만든 데이터를 포함하여 솔루션 세부 사항을 검사할 수 있습니다. 하지만 조직을 원래 상태로 되돌리려면 관리형 솔루션을 수동으로 삭제해야 합니다.
NuGet 패키지 설치
다음 단계를 사용하여 이 샘플에 필요한 어셈블리를 설치합니다.
이 샘플을 다운로드하고 파일 압축을 풉니다.
C# 폴더로 이동하고 Visual Studio를 사용하여 UpsertSample.sln 파일을 엽니다.
Visual Studio에서 UpsertSample 프로젝트를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 클릭합니다.
미리 보기 릴리스의 경우 검색 조건에서 Stable Only 대신 Include Prerelease를 클릭해야 합니다. 그런 다음 “Microsoft Dynamics CRM 2016 SDK core assemblies”를 검색합니다.8.0.0-preview 또는 그 이후 버전을 선택했는지 확인합니다.
설치를 클릭합니다. 이 패키지 설치를 완료하려면 사용 조건에 동의해야 합니다.
샘플 실행
Visual Studio에서 솔루션 및 필요한 NuGet 패키지를 설치한 상태에서 F5 키를 누릅니다.
이전에 Microsoft Dynamics 365 관리형 코드 샘플 중 하나를 실행하지 않은 경우 코드를 실행하려면 정보를 입력해야 합니다. 그렇지 않으면 이전에 설정한 Dynamics 365 서버 중 하나에 대한 번호를 입력합니다.
프롬프트
설명
Dynamics 365 서버 이름 및 포트[crm.dynamics.com] 입력
Microsoft Dynamics 365 서버의 이름을 입력합니다. 북미의 경우 Microsoft Dynamics 365(온라인)에 대한 기본 값은 crm.dynamics.com입니다.
예:
myservername
myprefix.myservername:5500
crm5.dynamics.com사용자의 조직 또는 인터넷 프로토콜 (http 또는 https)의 이름을 포함하지 마십시오. 나중에 해당 메시지가 표시됩니다.
서버가 Secure Sockets Layer(https)에 대해 구성되어 있습니까? (y/n) [n]
Microsoft Dynamics 365 액세스를 위해 사용하는 URL이 https://로 시작하면 유형y, 그렇지 않으면 유형 n을 입력합니다.
이 조직이 Microsoft Office 365에서 프로비전되었습니까? (y/n) [n]
Microsoft Office 365 프로비전된 조직이면 y를 입력합니다. 그렇지 않으면 n을 입력합니다.
도메인\사용자 이름을 입력합니다.
Microsoft 계정을 입력합니다.
Microsoft Dynamics 365의 경우, 네트워크 도메인과 사용자 이름을 백슬래시(\)로 구분하여 입력합니다.암호를 입력합니다.
암호를 입력합니다. 문자는 창에 “*”를 표시합니다. 암호는 나중에 다시 사용할 수 있도록 Microsoft 자격 증명 관리자에 안전하게 저장됩니다.
조직 번호 지정(1-n) [1]
표시된 조직 목록에서 해당 번호를 입력합니다. 기본값은 1이며, 목록에서 첫 번째 조직을 나타냅니다.
샘플은 이 샘플의 기능에서 설명하는 작업을 수행하고 추가 옵션을 묻는 메시지가 나타날 수 있습니다.
샘플이 완료되면 Enter 키를 눌러 콘솔 창을 닫습니다.
참고 항목
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 저작권 정보