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

Dynamics WebAPI: Update only changed fields?

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

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

是否有一种仅更新用户更改的字段的内置方法?这是在一个 Web 应用程序中,我不能确定能够进行适当的客户端更改跟踪,这意味着我要么必须对 CRM 进行另一个调用,比较两个记录并仅将更新的值发送到 CRM 将整个记录发送到 CRM。第二种情况显然更高效、更容易,但我似乎无法找到一种方法来告诉 WebAPI 只更新更改的字段。

使用 web API 检索记录属性并将值绑定到 UI 控件,识别 属性并仅更新回源系统那些肮脏的领域 - 这就是通常的循环。

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

不建议发送整个记录字段值而不考虑其脏度,原因有多种,例如丢失审计跟踪、CRM 中的管道业务逻辑 Plugin/Workflow 等