xrmquery.update - >使用null更新crm id绑定

时间:2017-10-17 09:42:24

标签: typescript dynamics-crm crm xrmquery

我需要使用XrmQuery用“null”更新id绑定字段。

这是我的代码:

XrmQuery.update(x => x.contacts,
                recordId,
                {
                    address2_line1: null,
                    address2_postalcode: null,
                    address2_city: null,
                    cgk_origindate: null,
                    cgk_countrypostaladdressid_bind$cgk_countries: null,
                    cgk_originaddress: null
                }).execute(id => {
                });

此更新不适用于cgk_countrypostaladdressid_bind$cgk_countries: null

当我删除此行时,更新正常。是否有一种典型的方法可以使用XrmQuery使id绑定字段为“null”?

1 个答案:

答案 0 :(得分:4)

通过向Web API发送更新请求,您无法将查找字段设置为null。相反,您需要发送disassociate request。很遗憾,我们目前尚未支持XrmQuery中的关联/取消关联请求。

在我们直接在XrmQuery(issue 31)中构建对此的支持之前,您可以按如下方式手动制作请求: 正如您在MSDN页面上看到的那样,您需要以特定格式发送HTTP DELETE。对于查找(称为单值导航属性),您可以将其值设置为null,如下所示:

XrmQuery.sendRequest("DELETE",
  "contacts(" + recordId + ")/cgk_countrypostaladdressid/$ref",
  null,
  () => { alert("success"); },
  () => { alert("error"); }
);