[英]Which C# OData Client library to use for Dynamics CRM 365 Web Api?
我正在通過OData Web Api調用Dynamics 365,我想知道我可以使用哪個客戶端庫來簡化編程。
我的用例是,我主要必須使用一個實體:聯系人。 我想檢索一些數據,編輯數據並創建新的聯系人。 我正在以類似方式使用的另一種實體類型是地址。 一個聯系人可以有多個地址。
Currenlty我正在使用簡單的HTTP Client類與Dynamics進行通信。
我正在為Linux主機開發.NET Core應用程序,因此,我無法使用Dynamics CRM SDK(SOAP端點)。
我的問題是您的建議是:我應該使用Microsoft.OData.Client還是Simple.OData.Client ? 還是其他圖書館?
我根據本文嘗試使用Microsoft.OData.Client並生成了一個客戶端(proxy / wrapper): https : //blogs.msdn.microsoft.com/odatateam/2014/03/11/tutorial-sample-how-to -使用odata-client-code-generator生成客戶端代理類/
問題是它會生成一個.cs文件,文件大小為86 MB。 也許以后使用此客戶端可能是一種解決方案,但是在我們的項目中擁有如此大的源文件似乎太錯誤了。 我想避免它,但是我沒有找到生成它的選項。如果我不小心打開它,Visual Studio崩潰,Intellisense變慢了,如果打開了ReSharper,VS的速度就大大降低了,等等。
我檢查了Simple.OData.Client,似乎有不錯的文檔和API。 例如: https : //github.com/object/Simple.OData.Client/wiki/Retrieving-data
對於Microsoft.OData.Client,我沒有找到如何在不生成整個客戶端的情況下以類型化方式使用它的文檔。 那可能嗎? 我只在使用生成的上下文的地方找到了它: http : //odata.github.io/odata.net/v6/#04-01-basic-crud-operations
我認為使用Simple.OData.Client似乎是更好的選擇,但我更喜歡使用Microsoft庫。 你有什么建議嗎?
我剛剛實現了從在Azure App服務中運行的.Net Core Web App到POC Dynamics 365 Web API的集成。 這包括讀取參考數據(連接不同實體)和使用參考數據列修改實體。
我發現完整的OData接口生成是有問題的:
經過大量研究,我開始使用Simple.OData.Client,因為這使我
您必須自己創建在類型化的Fluent API中使用的實體類
如果希望CRM / C#代碼之間的CRM實體名稱不同,請使用DataContract屬性。 然后,在進行Http調用時,Simple.OData將使用DataContract屬性。
不幸的是,當我開始更深入地研究OAuth2授權和導航屬性之類的問題時,並沒有找到所有如此有見地的文檔,而是在諸如github問題和一些高級教程(例如https://www.odata)之類的輔助資源中找到了所有答案。 org / blog / advanced-odata-tutorial-with-simple-odata-client /
同樣,使用Fiddler查看來回的通訊對於理解正在發生的事情非常有用。
Microsoft已經引入了Web API,這是一種RESTful Web服務,您可以使用它來使用各種平台,編程語言和設備與Dynamics 365中的數據進行交互。
這是通過編程方式與Dynamics 365進行通信的新方式。
您可以使用幾個庫。 從下面的文章中,您可以找到這些內容。
我個人使用過David Yack的圖書館。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.