1
假設我們在Dynamics 365中有一個Account實體,帳戶有c5號碼和名稱屬性。當對象上的屬性不存在時,Dynamics365 web api中如何處理?
現在我想通過動態365 Web API創建一個新帳戶。我使用c5編號創建了一個賬戶對象,並且我添加了一個aditional屬性lastname。 當我發佈此帳戶對象的Web API,我會得到這樣的錯誤:
"code":"","message":"The property 'lastname' does not exist on type 'Microsoft.Dynamics.CRM.account'. Make sure to only use property names that are defined by the type.","innererror":{
"message":"The property 'lastname' does not exist on type 'Microsoft.Dynamics.CRM.account'. Make sure to only use property names that are defined by the ...
我真的不uderstand爲什麼動力學365的Web API只是不能忽視房地產的,它不能使用?
在這個特定的情況下,這意味着如果我們刪除賬戶實體的名稱屬性,我們所有與Web API交談的系統都有可能崩潰。
我該如何解決這個問題?無論如何強迫動態365 Web API忽略一些propertys?
你必須要接受最終,應用程序將不得不嘗試插入到所請求的數據庫列 - 這是正常的行爲,這會爲不存在的列會失敗。至於刪除:這隻會是自定義屬性的情況 - 您不能刪除標準/託管屬性。 – Filburt
我想知道是否可以使用MetaData服務在運行時查找給定實體的屬性,然後過濾「POST」以僅包含您連接的實例中提供的屬性。看起來像一個可能的候選人在MSDN的描述 - https://msdn.microsoft.com/en-us/library/mt607522.aspx#Retrieving屬性一些[所以答案](https://stackoverflow.com/a/23445922/685760)也展示瞭如何去做這件事。 –
如果檢索實體元數據的開銷太大,您可以創建一個包含所有(必需)屬性的「默認記錄」,並用'new ColumnSet(true)'(SELECT * FROM)檢索此記錄,這將產生一個實體實例所有有效的屬性。將它的ID重置爲空,根據需要更新屬性並'.Create()'。風險自負。我仍然建議根據實體(邏輯名稱)和/或實體元數據來決定觸摸屬性。 – Filburt