簡體   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