我有一个很好的SQL Server数据库设置,有2个表,有一对多的关系。像这样:
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和关系字段。我希望保持表格关系的完整性,特别是由于我将定期通过脚本导入大量数据(1百万+记录),而不是通过crm gui创建记录和关系。感谢。
答案 0 :(得分:4)
在同样的情况下,我创建了两个带有附加字段的实体 - 整数ID。关系是CRM的默认关系。如果您想在“宠物”表单上“保留”“类型”实体的ID,您可以在“宠物”表单上添加其他隐藏字段(整数 - 类型ID)。并在类型更改上更新。
如果您只在脚本中使用这些实体,我认为不需要这个隐藏的Type_ID。也许查询性能不理想,但这可行:)
编辑:还有一件事,如果你需要在CRM中生成ID,你必须创建用于生成唯一ID的插件,并且将在实体创建时执行。
希望有所帮助
答案 1 :(得分:2)
由于CRM将其PK存储为GUID,因此您只能通过这些GUID定义FK。
正如拉撒路所述,创建包含ExternalID int
字段的Pets和PetTypes实体。
您的导入脚本需要为每个要导入的记录查找两个GUID:
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