microsoft dynamics crm - SQL更改

时间:2015-02-18 09:21:32

标签: dynamics-crm-2011

您好我面临的任务需要我(或不?)直接在CRM SQL DB上做一些小改动。

情况: 1)两个实体之间存在N:1关系,其变为N:N。 2)对于每个实体,我需要将之前关系中的相关内容移动到新实体。

对于活跃的实体而言,没有问题,因为客户并不关心更改字段" ModifiedOn"," ModifiedBy"和" ClosedOn"但是对于非活动状态(例如关闭的事件),他希望迁移相关实体,但不要更改这三个字段。因为所有这些事件都是关闭/不活动的,所以我不能只调用" AssociateRequest"我需要重新打开案例,关联,再次关闭它。这当然会改变这些领域。

有没有办法通过API而不是直接在SQL上执行此操作?如果不是 - 这可能是个问题吗?

1 个答案:

答案 0 :(得分:0)

如果您已经拥有更改关系的机制,只需修改CreatedOn,CreatedBy,ModifiedOn和ModifiedBy ......您应该可以使用late bound code执行此操作:

Entity YourTargetEntity= new Entity("YourTargetEntity");
YourTargetEntity["createdon"] = new DateTime(2015,01,01); // or whatever the date you want
YourTargetEntity["overriddencreatedon"] = new DateTime(2015,01,01); // or whatever the date you want
YourTargetEntity["createdby"] = new EntityReference("systemuser", new Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"));
TargetEntity["modifiedby"] = new EntityReference("systemuser", new Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"));
TargetEntity["modifiedon"] = new DateTime(2015,01,01); // or whatever the date you want
_service.Update(YourTargetEntity);

希望有所帮助。