0x80040237 无法插入重复键。
我正在尝试通过 CrmService 为 MSCRM4.0 编写一个导入例程。到目前为止,这一直是成功的。最初我只是让 CRM 生成记录的主键。但是我的客户希望能够将自定义实体的键设置为预定义的值。这可能使我们知道安装程序创建了哪些数据,以及安装后创建了哪些数据。
我进行了测试以确保在调用 CrmService.Update() 方法时可以设置 Guid,结果表明记录是使用我们想要的值创建的。我运行了我的导入,一切似乎都很成功。在修改导入文件的验证码时,我删除了数据(通过crm浏览器界面)并尝试重新导入。不幸的是,现在它抛出了一个重复的键错误。
为什么会抛出这个错误?Crm 界面是否删除了记录,或者它仍然存在但隐藏在用户眼中?有没有办法确保已删除的记录被永久删除并且 Guid 变得免费?在实际环境中,这些 Guid 永远不会存在,但在我的开发过程中,我需要这些导入成功。
顺便说一句,考虑到我遇到了这个问题,这是否意味着静态设置 Guids 不是推荐的做法?