Какую клиентскую библиотеку C # OData использовать для Dynamics CRM 365 Web Api? - PullRequest
0 голосов
/ 05 ноября 2018

Я звоню в Dynamics 365 через его OData Web Api, и мне интересно, какую клиентскую библиотеку я мог бы использовать, чтобы упростить программирование.

Мой вариант использования заключается в том, что мне в основном приходится работать с одним объектом: контакт. Я хотел бы получить некоторые данные, редактировать данные и создавать новые контакты. Другой тип сущности, с которым я работаю подобным образом, это адрес. Контакт может иметь несколько адресов.

В настоящее время я использую простой HTTP-класс клиента для связи с Dynamics.

Я занимаюсь разработкой приложения .NET Core для хостов Linux, поэтому не могу использовать Dynamics CRM SDK (конечная точка SOAP).

Мой вопрос: какой совет вы должны использовать: Microsoft.OData.Client или Simple.OData.Client ? Или любая другая библиотека?

Я попытался использовать Microsoft.OData.Client и сгенерировал клиента (прокси / оболочку) в соответствии с этой статьей: https://blogs.msdn.microsoft.com/odatateam/2014/03/11/tutorial-sample-how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class/

Проблема в том, что он генерирует файл .cs с размером файла 86 МБ. Возможно, это могло бы быть решением для использования этого клиента впоследствии, но кажется таким неправильным иметь такой большой исходный файл в нашем проекте. Я бы хотел этого избежать, но я не нашел возможности сгенерировать это. Если я случайно открою его, Visual Studio аварийно завершит работу, несколько раз получит intellisense get, если 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. Есть ли у вас какие-либо рекомендации?

1 Ответ

0 голосов
/ 06 ноября 2018

Microsoft представила веб-API, веб-сервис RESTful, который можно использовать для взаимодействия с данными в Dynamics 365 с использованием широкого спектра платформ, языков программирования и устройств.

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/webapi/perform-operations-web-api

Это новый способ программного взаимодействия с Dynamics 365.

Существует несколько доступных библиотек. Ниже статьи, вы можете найти те.

https://community.dynamics.com/crm/b/briteglobalsolutions/archive/2017/10/22/webapi-library-comparison-in-dynamics-365

Я лично использовал библиотеку Дэвида Яка.

https://github.com/davidyack

Надеюсь, это поможет.

...