2012-10-17 1 views
3

일대 다 관계가있는 2 개의 테이블로 구성된 멋진 SQL Server DB 설치가 있습니다. 이런 식으로 뭔가 :Dynamics CRM 2011 사용자 지정 엔터티 : SQL Server 외래 및 기본 키 관계와 일치하는 모델 만들기

TYPE :

ID Type 
=========== 
1 mammal  
2 fish  
3 insect 

PETS :

ID Name Foreign Key 
======================= 
1 Paris 1 (mammal)  
2 Michael 2 (fish)  
3 Mardy 1 (mammal) 

어떻게이 땅에 내가 CRM이를 다시합니까? 나는 CRM이 자신의 기본 키 GUID 및 relalationship 필드를 만드는 것을 좋아한다는 것을 알고 있습니다. 나는 crm gui를 통해 레코드와 관계를 만드는 대신 정기적으로 스크립트를 통해 많은 양의 데이터 (1 백만 + 레코드)를 가져올 것이므로 테이블 형 관계의 무결성을 유지하려고합니다. 감사.

답변

2

을 도움이되기를 바랍니다.

lazarus가 명시된대로 ExternalID int 필드가 포함 된 애완 동물 및 애완 동물 유형 엔티티를 모두 만듭니다.

read record 
lookup PetTypes Guid for PetTypes.ExternalID = [pettype.id from record] 
create if not exists 
lookup Pets Guid for Pets.ExternalID = [id from record] 
create if not exists 
set Pets.PetTypes = new EntityReference() with PetTypes.ID (=guid) 
save crm record 
+0

devio와 lazarus 감사합니다. 무슨 말을 기반으로 외부 데이터 소스로 데이터를 쿼리하는 경우 데이터가 정적이며 특히 관련 노트/활동 등을 가지지 않기 때문에 앞으로 나아갈 수있는 방법인지 궁금합니다. – mechalaris

+0

모델에 기반하여 엔티티 이미 ** 신들 ** 신들이 다른 애완 동물을 만들었습니다. 그래서 나는 ** 애완 동물 ** ** 유형 ** ** 고급 찾기를 실행하거나 보고서를 실행할 때 테이블을 참조 할 수 있다고 생각합니다. ... – mechalaris

4

같은 상황에서 정수 필드가있는 두 개의 엔티티를 만들었습니다. 관계는 CRM 기본값입니다. '애완 동물'양식에 '유형'엔티티의 ID를 '보관'하려면 애완 동물 양식 (정수 - 유형 _ ID)에 숨겨진 필드를 추가하십시오. 유형 변경시이를 업데이트하십시오.

스크립트에서이 엔티티 만 사용하는 경우이 숨겨진 Type_ID가 필요하지 않다고 생각합니다. 어쩌면 쿼리 성능이 이상하지 않을 수도 있지만,이 작품은 :)

편집 : 하나만 더, CRM에서 ID를 생성 해야하는 경우 고유 ID를 생성하기위한 플러그인을 만들어야하며 엔티티에서 실행됩니다 .

는 CRM은 만 만 GUID를 통해 FKS를 정의 할 수 있습니다 GUID를로서의 PK와 저장하기 때문에이

+0

이것은 대답을하지만 devio의 더 포괄적 :

가져 오기 스크립트는 모든 레코드 가져 오기를 모두 GUID를 찾아 볼 필요가있다. 고마워 나사로. – mechalaris

관련 문제