我是Microsoft Dynamics Web API的新手,我需要在批量更新调用中删除/清空实体引用(包含GUID的字段,该字段是另一个实体中记录的ID)。此批量更新调用可以包含任意数量的记录,每个记录可以包含任意数量的需要为空的实体引用字段。要设置实体参考,我可以执行以下操作:
"gnh_address1_countryid@odata.bind":"/gnh_countries(c58790c2-ed83-e511-80f7-1458d043a570)"
但是,要删除它,将值设置为null(或空的GUID字符串为0)似乎不起作用。我已经看过这个页面了
https://msdn.microsoft.com/en-us/library/mt607875.aspx#bkmk_Removeareferencetoanentity
告诉我,我需要对要删除的给定字段执行删除调用。这真的是唯一的方法吗?在我看来,这应该是一个相当简单的事情。根据我的理解,如果我有3条我想要更新的记录,每条记录都有3个实体引用字段,我想删除/删除/无效,那将是1次批量更新调用,然后是9次后续删除调用。如果我要更新1000条记录,这将是一次更新,然后是3000次删除调用。再次,这真的是唯一的方法吗?作为批量更新的一部分,是否无法删除它们?
答案 0 :(得分:1)
不幸的是,即使是今天,这也是only available way。
微软在多个v8.x版本之后发布了v9 web api版本,但仍然可以删除引用属性/单值导航属性。无法更新时将null
设置为查找字段(外键)。
答案 1 :(得分:0)
使用Web API actions将set-null与其他字段更新结合起来