Dynamics WebAPI:仅更新更改的字段?

时间:2019-06-28 18:08:39

标签: dynamics-crm dynamics-crm-365 dynamics-crm-webapi dynamics-crm-365-v9

我正在编写一个通过webapi(v9.0 / 9.1)访问Dynamics 365 CE的应用程序。我的应用程序检索一条记录并将其显示给用户,用户可以进行更改并再次保存该记录。

在这种情况下,我的应用程序将尝试使用对Dynamics WebAPI的Patch调用来保存更改。

是否存在仅更新用户更改过的字段的内置方法?这是在Web应用程序中,在该应用程序中,我不能确保能够进行正确的客户端更改跟踪,这意味着我要么必须对CRM进行另一个调用,比较两条记录,然后仅将更新的值发送给CRM < em>或将整个记录发送到CRM。第二种情况显然更高效,更容易,但是我似乎找不到一种方法来告诉WebAPI仅更新更改的字段。

1 个答案:

答案 0 :(得分:1)

使用Web API检索记录属性并将其值绑定到UI控件,识别 dirty 属性并仅使用那些脏字段更新源系统-这是通常的循环。 / p>

您所拥有的是识别脏字段的问题-它不是实际的更改跟踪。在提交更新服务器请求(PATCH)之前,尝试使用一种有效的方法在客户端识别它们。

由于各种原因,例如丢失审计跟踪,CRM插件/工作流中的管道业务逻辑等,不建议发送整个记录字段值,而不管其是否脏乱。