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

xrmquery.update -> update crm id binding with null

我需要使用 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"?

您不能通过向网络发送更新请求来将查找字段设置为空 API。相反,您需要发送 disassociate request. Unfortunately we do not yet currently support associate/disassociate requests in XrmQuery.

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

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