5

我是 Microsoft Dynamics Web API 的新手,我需要在批量更新调用中删除/清空实体引用(包含 GUID 的字段,它是另一个实体中的记录的 ID)。此批量更新调用可以包含任意数量的记录,并且每条记录可以包含任意数量的需要为空的实体引用字段。要设置实体引用,我可以执行以下操作:

"gnh_address1_countryid@odata.bind":"/gnh_countries(c58790c2-ed83-e511-80f7-1458d043a570)"

但是,要删除它,将值设置为 null(或 0 的空 GUID 字符串)似乎不起作用。我遇到过这个页面

https://msdn.microsoft.com/en-us/library/mt607875.aspx#bkmk_Removeareferencetoanentity

它告诉我需要对要删除的给定字段进行删除调用。这真的是唯一的方法吗?在我看来,这似乎是一个相当简单的事情。据我了解,如果我有 3 条要更新的记录,每条记录都有 3 个要删除/删除/无效的实体引用字段,那将是 1 次批量更新调用,然后是 9 次后续删除调用. 如果我有 1000 条记录要更新,这将是一次更新,然后是 3000 次删除调用。同样,这真的是唯一的方法吗?有没有办法将它们作为批量更新的一部分删除?

4

2 回答 2

1

不幸的是,即使在今天,这也是唯一可用的方法。

在多个 v8.x 版本之后,微软发布了 v9 web api 版本,但仍然删除引用属性/单值导航属性是可能的方式。null无法更新时设置为查找字段(外键)。

于 2018-04-25T17:46:29.203 回答
0

使用Web API 操作将 set-nulls 与其他字段更新结合起来

于 2017-07-11T11:24:13.403 回答