繁体   English   中英

在 Dynamics 365 WebAPI 中使用备用键执行更新

[英]Performing updates using alternate key in Dynamics 365 WebAPI

任何人都可以提供帮助,因为我相信有人已经面临我遇到的问题。

我有一个带有备用键 (alssc_name) 的自定义实体 (alssc_anglesector)

“alssc_ANGLESector@odata.bind”: “/alssc_anglesectors(alssc_name=’Air’)”,
“alssc_ANGLESector@odata.bind”: “/alssc_anglesectors(alssc_name=’Water Auth/Company’)”,

当我创建一个帐户并将第一个绑定与“Air”一起使用时,它工作正常,而当使用第二个“Auth/Company”时,我得到了响应

“消息”:“错误请求 - 查询语法错误。”,

“类型”:“Microsoft.OData.ODataException”,

“stacktrace”:“在 Microsoft.OData.UriParser.ODataPathParser.ExtractSegmentIdentifierAndParenthesisExpression(String segmentText, String& identifier, String& parenthesisExpression)

我也尝试过对其进行编码

"alssc_ANGLESector@odata.bind": "/alssc_anglesectors(alssc_name=\u0027Water Auth\u002FCompany\u0027)",

但最终结果是一样的。

我无法克服这个问题,有什么想法/建议吗?

这可能是 D365 API WebApi 中的错误吗?

根据评论线程中的答案:此请求不受支持,因为它包含 Unicode 字符

Unicode 键值中的字符

如果在备用键中使用的字段中的数据将包含以下字符之一 <、>、*、%、&、:、/、\,则更新或更新 (PATCH) 操作将不起作用。

Microsoft Docs 的建议是创建另一个不包含这些字符的字段(例如代码或简化名称)

https://docs.microsoft.com/en-us/powerapps/maker/common-data-service/define-alternate-keys-reference-records#unicode-characters-in-key-value

在这种情况下,由于“/”特殊字符,您必须将“Water Auth/Company”更改为“Water Auth%2FCompany”。

我希望它有效。

乌古尔

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM